所以我正在尝试在我的网站上实现一项功能,让用户可以嵌入自己的视频。我一直在使用PHP,因为它在过去对我有其他类似的目标。
$find = array("[video]","[/video]");
$replace = array("<iframe width='560' height='315' src='","' frameborder='0' allowfullscreen></iframe>");
echo str_replace($find,$replace,"" . nl2br("" . htmlspecialchars($forumPost) . "") . "");
这两个代码的两半来自YouTube的“嵌入”选项,并且只是组织起来,以便用户可以放入他们想要的任何YouTube网址,并显示视频。
然而,当我使用此嵌入代码(取自YouTube)测试时,我遇到了一个问题:
<iframe width='560' height='315' src='http://www.youtube.com/embed/oPmUjjo02bg' frameborder='0' allowfullscreen></iframe>
奇怪的是,当我将它直接嵌入到源代码中时,这个测试非常有效,但是当PHP将相同的代码拼凑在一起时,在页面中留下一个空白框 - 在这种情况下,当我输入时它在这样的论坛中:
[video]http://www.youtube.com/watch?v=oPmUjjo02bg[/video]
我已经三次检查拼写或URL本身没有错误,所以它肯定与PHP将它放在一起这一事实有关。
互联网上没有其他人似乎有这个问题,所以我必须转到这里,因为我完全感到困惑。
答案 0 :(得分:1)
这是因为您没有使用嵌入网址(http://www.youtube.com/embed/oPmUjjo02bg),而是视频完整网址(http://www.youtube.com/watch?v=oPmUjjo02bg)。
您必须更改链接才能使嵌入工作。