php - 通过链接在网站上添加YouTube视频

标签 php hyperlink youtube embed

我正在做一个项目,有些事情我还不能完全解决。

用户只需将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/

相关文章:

php - 为什么这个模式函数返回 null?

android - URL 作为 android ListView 中的链接

html - HTML 中链接的可缩放背景图像

flutter - video_player 包中的 YouTube 视频

r - 在 R Markdown 中嵌入 Youtube 视频

javascript - 如何根据用户输入生成修改后的超链接列表

php - 在 PHP 中使用函数添加 CSS

php - 在声明之前调用函数

javascript - 如何控制WordPress中视频播放器的大小

wpf - 在 MVVM 模式中使用超链接的单元格模板