1

可能重复:
php regex - 在字符串中查找所有 youtube 视频 ID

如何使用正则表达式从嵌入中获取 youtube ID,即使它是旧格式或 ifarme

例子

<iframe width="560" height="315" src="http://www.youtube.com/embed/ghc8cYOA1Vo" frameborder="0" allowfullscreen></iframe>

或者

<object width="560" height="315"><param name="movie" value="http://www.youtube.com/v/ghc8cYOA1Vo?hl=en_US&amp;version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ghc8cYOA1Vo?hl=en_US&amp;version=3" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>

请指教,

4

3 回答 3

4
youtube.com/((v|embed)/)?[a-zA-Z0-9]+

Youtube 最近从 10 个字符的 ID 变为 11 个字符,而且他们最终可能会增加这个数字。

于 2013-02-04T14:22:42.403 回答
1

使用 regexp youtube[.]com/(v|embed)/([^"?]+),YouTube ID 将被捕获到第二组中。

演示

于 2013-02-04T14:21:39.893 回答
1

我测试了这个正则表达式 ((v|embed))\/?[a-zA-Z0-9_-]+ ,它工作正常

于 2013-02-04T14:47:43.787 回答