我正在做一个项目,有些事情我还不能完全解决。
用户只需将YouTube剪辑的链接添加到表单中即可将YouTube视频添加到他们的个人资料中,例如:
YouTube连结:youtube.com/watch?v=9YgjZ4oPrj4
现在,一旦用户单击提交,就必须嵌入视频。唯一的问题是,我只需要这部分9YgjZ4oPrj4
进行嵌入
(请参见下面的代码)
<iframe width="560" height="315" src="http://www.youtube.com/embed/9YgjZ4oPrj4" frameborder="0" allowfullscreen></iframe>
如您所知,YouTube视频具有不同类型的链接:
youtube.com/watch?v=9YgjZ4oPrj4
youtu.be/9YgjZ4oPrj4
我如何使这一工作?
这实际上与Facebook使用的相同
最佳答案
这是一些将从字符串中提取YouTube ID的代码。 注意我只是copied it from Forrst,但它应该做您想要的。
function youtube_id($url){
$url = preg_replace('((http://)?(www\.)?(youtube\.com|youtu\.be)(/v/|/watch\?v=|/)([a-zA-Z0-9_-]*)(.*))',"$5",$url);
return (preg_match('(([a-zA-Z0-9_-]*){11,18})',$url) ? $url : '');
}
测试了以下网址。
"http://www.youtube.com/watch?v=pkPgYbdQ1kQ&feature=feedu"
"www.youtube.com/watch?v=pkPgYbdQ1kQ&feature=feedu"
"youtube.com/watch?v=pkPgYbdQ1kQ&feature=feedu"
"http://www.youtube.com/v/pkPgYbdQ1kQ&feature=feedu"
"www.youtube.com/v/pkPgYbdQ1kQ&feature=feedu"
"http://youtu.be/pkPgYbdQ1kQ"
"youtu.be/pkPgYbdQ1kQ"
关于php - 通过链接在网站上添加YouTube视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542299/