我有一个表格,用户可以将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>
答案 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参考以获取详细指南。