0

我正在从我的数据库中提取数据(原始):

long's streetWe’d " tree < < ! cool & <body>

据我了解,为了将其输出到 html 页面,我需要将其包装在 htmlEntities 中。

但是当我包装它时,它什么也没输出。var_dump 显示:

long's streetWe&acirc;��d &quot; tree &lt; &lt; ! cool &amp; &lt;body&gt;

包装在 htmlspecialchars 输出中:

long's streetWe’d &quot; tree &lt; &lt; ! cool &amp; &lt;body&gt;

var_dump 输出与此相同。

但是在不使用包装函数的情况下输出它完全按照我希望它出现的方式输出,因为它存储在数据库中。

当我输出它时,它通过表单填充方法显示(这个值在更大的数据数组中)

我不知道它为什么这样做。有谁有想法吗?

这都是在 php 中使用 zend 和 mysql db 构建的。

亲切的问候,

4

1 回答 1

1

大概 forms populate 方法希望您给它文本而不是 HTML,因此它在输出数据之前转换为 HTML。

这是解决问题的标准且明智的方法。数据应在最后一刻进行转义(以避免不恰当地转义)。

于 2012-04-27T13:23:54.043 回答