2

たとえば、以下のリンクで2つの文字の間にあるURLの特定の部分を取得したいのですが、との間にある部分を取得したいと思いv=ます&

http://www.youtube.com/watch?v=mof-Dq3hvWs&feature=youtu.be

私は次の正規表現でそれを行います(?<=v=)(.*?)(?=&)

私の問題は、リンクがで終わっていない場合&です。例えば:

http://www.youtube.com/watch?v=5FlQSQuv_mg

どちらの場合も文字列を一致させるにはどうすればよいですか?

4

2 に答える 2

5

正規表現は使用しないでください。とを使用parse_url()parse_str()ます。

$url = 'http://www.youtube.com/watch?v=mof-Dq3hvWs&feature=youtu.be';
$parts = parse_url($url);
parse_str($parts['query'], $arr);
print_r($arr);
于 2012-11-16T12:33:45.307 に答える
0

では、これはどうですか?

(?<=v=)([^&]+)
于 2012-11-16T12:35:02.497 に答える