php preg_match和模式

时间:2010-12-24 15:26:11

标签: php

我有网址: youtube.com/v/NRH2jEyiiLo&hl=en&fs=1&rel=0

我只需要代码:NRH2jEyiiLo& hl。

preg_match($ pattern,$ url,$ matches);

我使用这种模式:$pattern = '@^([^/v/]+)?([^=]+)@i';

但为什么结果是:“youtube.com/v/NRH2jEyiiLo”?

如何下​​载“youtube.com/v/”,谢谢;)

3 个答案:

答案 0 :(得分:1)

这是我的...(更新)

$url = "youtube.com/v/NRH2jEyiiLo&hl=en&fs=1&rel=0";
preg_match("#[A-Za-z0-9\-\_]{11}#", $url, $video);
echo($video[0]); //NRH2jEyiiLo

如果您想在自己的网页中嵌入视频,可以尝试使用此功能... http://webarto.com/57/php-youtube-embed-function

答案 1 :(得分:1)

  $pattern = '@^([^/v/]+)?([^=]+)@i';

然后使用这种模式

$str= "youtube.com/v/NRH2jEyiiLo";

$newarr = explode('/',$str);

echo $newarr[2];

答案 2 :(得分:0)

你不应该在那里使用字符类,也不应该使用起始锚。

$pattern = '@/v/(.*?)&@';