为了安全起见,使用'html_sanitizer'清理插入MySQL数据库的所有数据。
使用PDO检索数据:
$statement = $dbconn->prepare("SELECT * from table");
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
在页面上正确显示文本我使用:
echo(html_entity_decode($result[0]['content'], ENT_COMPAT, 'UTF-8'))
这一切都正常。
我的问题是,将'html_entity_decode'应用于数组的所有内容的最佳方法是什么?
我希望有这样的事情:
$statement = $dbconn->prepare("SELECT * from table");
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
$result = html_entity_decode($result, ENT_COMPAT, 'UTF-8'); // here is the bit i'm looking for
echo ($result[0]['content'])
非常感谢任何建议。
答案 0 :(得分:1)
似乎你想在数组的每个字段中应用html_entity_decode()如果是这样,那么array_walk_recursive()最适用于此目的。
Example:
$result = array(); // Say Array of your result
array_walk_recursive($result , 'stripFunction');
public function stripFunction(&$item, $key)
{
$item = html_entity_decode($item, ENT_COMPAT, 'UTF-8');
}
它递归地将一个用户函数应用于数组的每个成员。 http://php.net/manual/en/function.array-walk-recursive.php是文档的参考链接。