我想从youtube嵌入代码中提取视频链接,我正在为此寻找正则表达式解决方案

时间:2010-05-31 07:40:53

标签: php regex

例如:youtube嵌入代码

<object width="480" height="385">
        <param name="movie" value="http://www.youtube.com/v/TFlzeO267qY&hl=en_US&fs=1&"></param>
        <param name="allowFullScreen" value="true"></param>
        <param name="allowscriptaccess" value="always"></param>
        <embed src="http://www.youtube.com/v/TFlzeO267qY&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>
</object>

我想从这个嵌入代码中提取http://www.youtube.com/v/TFlzeO267qY&hl=en_US&fs=1&",但我不知道如何为此创建一个正则表达式

先谢谢了吗?

2 个答案:

答案 0 :(得分:2)

我不确定这段代码是否是你需要的......尝试一下也许它会帮助你理解 正则表达式

$var = '<object width="480" height="385">
        <param name="movie" value="http://www.youtube.com/v/TFlzeO267qY&hl=en_US&fs=1&"></param>
        <param name="allowFullScreen" value="true"></param>
        <param name="allowscriptaccess" value="always"></param>
        <embed src="http://www.youtube.com/v/TFlzeO267qY&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>
</object>';
preg_match('/src="(.*?)"/', $var, $src);
$src = $src[1];
echo $src;

答案 1 :(得分:1)

这适用于您提供的示例链接:

http://(?:www\.)?youtube\.com/v/[\w&=]+

你需要逃避斜杠,这样它们仍然是正则表达式的一部分。