使用Regex从youtube嵌入获取Youtube ID

时间:2013-02-04 14:17:28

标签: regex youtube

  

可能重复:
  php regex - find all youtube video ids in string

如何使用Regex从嵌入中获取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>

请咨询,

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

使用正则表达式youtube[.]com/(v|embed)/([^"?]+),将在第二组中捕获YouTube ID。

DEMO

答案 2 :(得分:1)

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