如何从MySQL数据库播放YouTube视频

时间:2019-04-19 13:39:27

标签: php html mysql

我有一个表格,用户可以将youtube链接及其产品一起输入。我希望能够播放该视频(其链接存储在MySQL数据库中,问题是<iframe>标签需要一个YouTube“嵌入”链接而不是URL,有没有办法转换嵌入链接的网址?

//code to connect to MySQL DB and get all rows 

$videourl = $row["video_url"];
}
?>
<iframe width="420" height="345" src="<?php $videourl?>">
</iframe>

4 个答案:

答案 0 :(得分:2)

常规YouTube链接如下

https://www.youtube.com/watch?v=1234

嵌入的YouTube链接如下

https://www.youtube.com/embed/1234

您只需要将此watch?v=替换为embed/

$link = "https://www.youtube.com/watch?v=1234";
echo str_replace("watch?v=", "embed/",$link);

答案 1 :(得分:0)

您必须使用embed。

像这样

 $videourl = explode("https://www.youtube.com/watch?v=", $row['videourl']);

 <iframe class="iframeVideo" src="https://www.youtube.com/embed/' . $videourl[1] . '"></iframe>

$videourl必须看起来像这样https://www.youtube.com/watch?v=3J6o7hcm8bE

我希望这对您有用。

答案 2 :(得分:0)

这是我所使用的,我不确定该代码是否应该存在两次,但是可以正常工作...

<?php
str_replace("watch?v=", "embed/",$videourl);
?>
<iframe width="520" height="345" src="<?php echo str_replace("watch?v=", "embed/",$videourl);?>">
</iframe>

谢谢您的帮助。

答案 3 :(得分:0)

您不能使用youtube视频中的确切网址。 iframe中使用的网址的格式为http://www.youtube.com/embed/unique_id_here。因此,您只需要保存每个视频的unique_id。它只是URL的一部分。例如,在以下网址中:https://www.youtube.com/watch?v= hdhjs88737 &list = RDEMnLv8DM0l6F9uGd8jrENGgg&index = 3,唯一的ID是粗体的ID:hdhjs88737。所以这就是我会做的。转到youtube上的任何视频,然后点击共享选项,然后在选项下选择嵌入。然后复制代码。看起来像这样:

<iframe width="560" height="315" src="https://www.youtube.com/embed/<unique_id_here>" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

修改iframe中的参数以适合您的首选项,然后仅将unique_id保存到数据库中。那应该解决您的问题。查看此API参考以获取详细指南。