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

use*_*069 3 php xml json escaping

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

<b>Location.</b><br /> <UL><LI>Park Central New York Hotel is located in New York, N.Y.
Run Code Online (Sandbox Code Playgroud)

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

<b>Location.</b><br /> <UL><LI>Park Central Ne
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Mar*_*ers 6

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

&amp;lt;b&amp;gt;Location.&amp;lt;/b&amp;gt;
Run Code Online (Sandbox Code Playgroud)

在解释为HTML时将呈现为:

&lt;b&gt;Location.&lt;/b&gt;
Run Code Online (Sandbox Code Playgroud)

您必须首先使用解码html_entity_decode来使其呈现为您想要的输出:

<b>Location.</b>
Run Code Online (Sandbox Code Playgroud)

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