-1

重複の可能性:
テキスト内の URI を一致させる方法は?
文字列が有効な URL かどうかを確認するための最適な正規表現は何ですか?

正規表現 (PHP) を使用して、多くの URL を含む文字列から URL を zip ファイルに抽出する必要があります。

簡単な例が役立つはずです。

ターゲット: URL http://en.wikipedia.org/wiki/Kettle.zipを抽出します

ベース文字列:

/url?q=http://en.wikipedia.org/wiki/Kettle.zip&sa=U&ei=VpnIUP22Js blah /url?q=http://en.wikipedia.org/wiki/Kettle&sa=U&ei=VpnIUP22Js blah /url?q=http://en.wikipedia.org/wiki/Kettle.rar&sa=U&ei=VpnIUP22Js

アップデート; ベース文字列が

href="http://en.wikipedia.org/wiki/Kettle.zip">一部のテキスト /a>その他のテキストはこちら a href="http://google.com/wiki/Kettle"> /a>

http://en.wikipedia.org/wiki/Kettle.zipを抽出する必要があります

どの方法でも構いません...正規表現かどうか。

4

1 に答える 1

1

正規表現を使用しないでください。正規表現は、文字列に関連するすべての問題を解決する魔法の杖ではありません。

を使用parse_url()して URL を分割し、 を使用explodeしてクエリ文字列を分割します&

$url = "http://example.com/url?q=http://en.wikipedia.org/wiki/Kettle.zip&sa=U&ei=VpnIUP22Js";
$query = parse_url($url, PHP_URL_QUERY);
print "query is: $query\n";
$args = explode( '&', $query );
print_r( $args );

これを実行すると、次のようになります。

query is: q=http://en.wikipedia.org/wiki/Kettle.zip&sa=U&ei=VpnIUP22Js
Array
(
    [0] => q=http://en.wikipedia.org/wiki/Kettle.zip
    [1] => sa=U
    [2] => ei=VpnIUP22Js 
)

そこから配列をたどって、必要なものを見つけてください。

于 2012-12-18T23:11:31.797 に答える