我正在使用 codeigniter, 在从数据库获取数组值时,我将其发送到解析器,解析器显示带有数组值的页面,所以问题是 html 没有显示 如何做到这一点:
< to <
> to >
主要问题是 html 没有按预期显示
查看 htmlspecialchars PHP 函数。
htmlspecialchars
是使用原生 PHP 的方法,但您也可以使用 Codeigniter 的 html_escape
函数,如下所示:
function html_escape($var)
{
if (is_array($var))
{
return array_map('html_escape', $var);
}
else
{
return htmlspecialchars($var, ENT_QUOTES, config_item('charset'));
}
}
你也可以传入数组,它会转义每一项。这也适用于您的字符集(应该是
UTF-8
)。在 PHP 5.4 中,默认编码是 UTF-8
,但在此之前它是 ISO-8859-1
,这意味着每次调用 htmlspecialchars
时都必须设置所有 3 个参数,否则可能会得到一个损坏的字符串(如果它有)不属于默认编码的字符:
$var = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
所以这是一个很好的快捷方式,并且始终可用(无需加载助手)。
您可以将输出包装在
htmlspecialchars();
函数中,例如:
print htmlspecialchars($content);