私はこの正規表現コードをPHPで完成させるのに苦労しています。PHPでregexを使用してURLをトリミングする方法はありますか?
http://www.site.net/showthread.php?tid=324&pid=...
:私はそれから行くように、変数$テキストに保持されている次のURLをダウントリムしたい
showthread.php?tid=324
親切にありがとうございます!
私はこの正規表現コードをPHPで完成させるのに苦労しています。PHPでregexを使用してURLをトリミングする方法はありますか?
http://www.site.net/showthread.php?tid=324&pid=...
:私はそれから行くように、変数$テキストに保持されている次のURLをダウントリムしたい
showthread.php?tid=324
親切にありがとうございます!
なぜ正規表現を使用しますか? http://php.net/manual/en/function.parse-url.php
編集:$ urlPartsは[「パス」]で始まる/そして、あなたはそれをしたくなかったので作業例
$someurl = 'http://www.site.net/showthread.php?tid=324&pid=...';
$urlParts = parse_url($someurl, PHP_URL_PATH | PHP_URL_QUERY);
$params = parse_str($urlParts['query']);
unset($params['pid']);
$queryString = http_build_query($params);
$newUrl = $urlParts['path'] . '?' . $queryString;
、あなたも使用できる場合でもparse_url方法は、あなたが望むあなたにすべてを与える必要があります
$newUrl = substr($newUrl, 1);
となります:)それはまったく役に立ちますか?
こんにちは、はい、それは簡単なソリューションですありがとうございます。しかしながら! Pidはtid(私が見ることができる)から分割されません。 – user1088793
そのためにhttp://php.net/manual/en/function.parse-str.phpを使うことができます:) – Pelshoff
@ user1088793 '&' – fge
これはそれを行うべきではありません。
$url = 'http://www.site.net/showthread.php?tid=324&pid=...';
$pattern = "/showthread.php\?tid=[0-9]+/";
if (preg_match($pattern, $url, $match))
print_r($match);
成功したgracias! – user1088793
'&'、それは特別な意味を持ちませんエスケープする必要はあります。 PHPは既にURL解析ライブラリを持っていませんか? – fge
@fgeはい、そうです^ _^ – Neal
URLからファイル名を抽出したいのですか、hrefを抽出するアンカーを含むHTMLスニペットがありますか?あなたはあなたの質問にお答えしました。 –