在我的PHP中输出转义(按原样呈现的html标签)

时间:2012-05-02 17:16:13

标签: php xml json escaping

所以我的文本最初编码为(实例)

<b>Location.</b><br /> <UL><LI>Park Central New York Hotel is located in New York, N.Y.

此数据来自xml文件。所以在我处理它之前,我将它转换为simplexmlelement对象,json_encode它(带参数1)然后json_decode它。最终我手里拿着的是上面提到的文字,这就是我试图呈现的内容。

<b>Location.</b><br /> <UL><LI>Park Central Ne

但是HTML标签不会自我渲染,只是输出自己,如上所示。我有点困惑我需要在这里应用什么功能来获得所需的输出。

谢谢!

1 个答案:

答案 0 :(得分:6)

您对文本进行了双重HTML编码。这个字符串:

&amp;lt;b&amp;gt;Location.&amp;lt;/b&amp;gt;
当解释为HTML时,

将呈现为:

&lt;b&gt;Location.&lt;/b&gt;

您必须首先使用例如html_entity_decode进行解码,以使其呈现为您想要的输出:

<b>Location.</b>

但更好的方法是修改输入,使其首先不进行双重编码。