带有HTML代码的echo变量

时间:2014-02-21 17:17:58

标签: php

这很可能非常简单,所以请原谅。

我有一个变量$postVideo,变量内部是你管道链接的整个嵌入代码:

<iframe width="420" height="315" 
        src="//www.youtube.com/embed/UF-6M06lPZo" 
        frameborder="0" allowfullscreen></iframe>

现在,当我执行echo $postVideo;时,它不显示你的管视频,它会在我的页面上显示代码,并在视图源中打印出来:

&lt;iframe width=&quot;420&quot; 
height=&quot;315&quot; 
 src=&quot;//www.youtube.com/embed/UF-6M06lPZo&quot; frameborder=&quot;0&quot; 
 allowfullscreen&gt;&lt;/iframe&gt;

现在我知道我可以让用户输入youtube ID并按我这样做,但CMS中的用户可能会从多个来源添加多个视频,所以希望他们只添加提供的嵌入代码。

所以我想问题是如何在没有特殊字符的情况下打印它,所以它应该像它应该的那样。

提前谢谢。

如果您被恶意语言冒犯,PS不会观看视频(它只是来自yourtube的随机播放)

1 个答案:

答案 0 :(得分:2)

您的CMS似乎会自动为您转换HTML实体,以防止XSS攻击。您只需使用html_entity_decode()执行相反的转换。像这样:

echo html_entity_decode($postVideo);

但是,您应该记住,您将输出用户在页面上输入的任意HTML。如果用户输入某种恶意脚本,这可能会带来安全问题。