不要将html存储为字符串(执行或处理html字符串)

时间:2012-10-02 15:11:20

标签: php html escaping echo

在PHP(Wordpress主题功能,尝试将主题选项中存储的html添加到博客标题中), 我正试图获得以下内容:

$x="<p>html</p>"; echo $x;

渲染html就像:

echo "<p>html</p>";

结果不同,第一个将显示html标签,而第二个将处理html。 有人可以请帮助。 感谢

2 个答案:

答案 0 :(得分:23)

一个。如果您想要显示HTML标记,可以使用htmlentities

示例

$x = "<p>html</p>";
echo htmlentities($x);

输出

<p>html</p>

B中。如果您希望反过来可能,那么您的字符串将存储为 &lt;p&gt;html&lt;/p&gt;,这就是您看到<p>html</p>的原因,那么您应该使用html_entity_decode

实施例

$x = "&lt;p&gt;html&lt;/p&gt;";
echo html_entity_decode($x);

输出

html

℃。可能是你没有使用网络浏览器而你想要html然后你应该使用strip_tags

示例

$x = "<p>html</p>";
echo strip_tags($x);

输出

html

答案 1 :(得分:6)

使用单引号

Single quotes vs double quotes in PHP

echo '<p>HTML</p>';