无法解码我的HTML实体

时间:2017-03-28 13:00:12

标签: php html mysql html-entities

我正在存储我的原始html ......

nl2br(htmlentities($this->input->post('raw_html')))

在我的数据库中,数据看起来像这样......

<ul>                                 <li>Improve our understanding of this issue</li>                                 <li>Strengthen your listening and writing skills</li>                             </ul>

当我尝试从我的数据库中显示标记时,我使用它:

echo html_entity_decode($html_from_db, ENT_COMPAT, 'UTF-8');

但是我在浏览器中显示了这个输出:

<ul> <li>Improve our understanding of this issue</li> <li>Strengthen your listening and writing skills</li> </ul>
Lesson name

html实体显示在我的源代码中......所以没有实体被解码。

为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

当您使用htmlentities编码时,可能会对其进行两次编码。见函数参数:

function htmlentities ($string, $quote_style = null, $charset = null, $double_encode = true) {}

所以你可以试试这个:

nl2br(htmlentities($this->input->post('raw_html'), ENT_QUOTES, 'UTF-8', false))