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

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

<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标记不会自我呈现,只是输出自己,如上所示.我有点困惑我需要在这里应用什么功能来获得所需的输出.

谢谢!

解决方法:

您对文本进行了双重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>

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

上一篇:mysql 5.5无效的转义序列java


下一篇:PHP $_SERVER [‘HTTP_HOST’]转义,这看起来可以接受吗?