嵌入式 youtube 视频未通过 iframe 和 php 显示

Posted

技术标签:

【中文标题】嵌入式 youtube 视频未通过 iframe 和 php 显示【英文标题】:Embedded youtube video not showing through iframe & php 【发布时间】:2020-01-26 13:09:05 【问题描述】:

这是一个简单的 html 表单。我正在尝试从用户那里获取视频链接时显示 youtube 视频。我使用输入字段作为用户从 youtube 输入视频链接的链接, 这是表格:

<body>
<form action="youtubetest.php" method="post">
    Enter Link here<br><input type="link" name="youtubelink">
    <input type="submit" name="submit">
</form>
</body>

从此表格中,我接受通过邮寄方式发送到 youtubetest.php 的链接。 这是 youtubetest.php:

<!DOCTYPE html> 
<html> 
<body> 
<?php
$str = $_POST['youtubelink'];
$splittedstring = explode("watch?v=",$str);    //For obtaining video id
foreach ($splittedstring as $key => $value) 

$x[$key] = $value."<br>";


$link = "https://www.youtube.com/embed/";
$vid_link = $link.$x[1];   //Concatenation
echo "Video Link is : ".$vid_link;
echo "<iframe src='".$vid_link."' allowfullscreen  height='480' width='500'";

 ?>
</body> </html> 

请如果有人可以解决这个问题。我正在尝试不同的东西,但它们不起作用。任何建议都将受到高度赞赏。

【问题讨论】:

需要更多信息。你的输入 youtubelink 是什么,它的输出 HTML 是什么? 您的&lt;iframe 标签中缺少一个结束&gt; 这不是问题,我已经检查过了 你检查过那个页面的源代码,里面的视频链接是正确的吗?看起来您要在末尾添加 &lt;br&gt;,那这仍然是有效的 youtube 链接吗? 是的,这就是问题所在,我解决了。谢谢@kerbholz 【参考方案1】:

感谢大家的建议,我找到了问题。这是因为 标签也被存储在链接中,因此视频未显示。这里:

foreach ($splittedstring as $key => $value) 


 $x[$key] = $value."<br>";  //Here was the issue


 

现在是这样的:

 foreach ($splittedstring as $key => $value) 


 $x[$key] = $value; //Corrected


 

【讨论】:

以上是关于嵌入式 youtube 视频未通过 iframe 和 php 显示的主要内容,如果未能解决你的问题,请参考以下文章

Youtube API 未构建 iFrame

Android webview 无法渲染通过 iframe 嵌入的 youtube 视频

Youtube iFrame API pauseVideo 在 UIWebView 中未定义

通过 iframe 嵌入的 YouTube 视频忽略 z-index?

单击 mp4 视频开始/播放嵌入式 (iframe) youtube 视频

使用 HTML5 嵌入式视频与使用带有 YouTube 链接的 iframe 有啥区别?