将html实体转换为HTML文本

时间:2016-10-02 18:53:59

标签: php html html-entities

我有这个字符串:

<p>This is a test</p>rn<p><strong>this is a test</strong></p>

所以我试图将原始字符串转换为HTML。

我试过了:

echo ' <h4><b>Din besvarelse</b></h4> 
<text style="word-wrap: break-word; height:auto;">
'.htmlspecialchars_decode($progressinfo['comment']).'</text>';

将实体转换为普通HTML,但它打印出原始html ..

&lt;p&gt;This is a test&lt;/p&gt;rn&lt;p&gt;&lt;strong&gt;this is a test&lt;/strong&gt;&lt;/p&gt;

我希望它是这样的:

<p>This is a test</p>rn<p><strong>this is a test</strong></p>

那么如何将包含HTML实体的字符串转换为以HTML格式呈现的原始HTML?

由于

1 个答案:

答案 0 :(得分:1)

&amp;lt;是双重编码元素。使用htmlspecialchars_decode一次将其设为&lt;,因为&amp;已转换为&。然后,浏览器将其呈现为<,而不是元素。使用该函数两次,它将呈现为HTML。

echo htmlspecialchars_decode(htmlspecialchars_decode('&amp;lt;p&amp;gt;This is a test&amp;lt;/p&amp;gt;rn&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;this is a test&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;'));

演示:https://eval.in/653807