Codeigniter 如何将 < > 格式化为 html 实体

问题描述 投票:0回答:3

我正在使用 codeigniter, 在从数据库获取数组值时,我将其发送到解析器,解析器显示带有数组值的页面,所以问题是 html 没有显示 如何做到这一点:

< to &lt;
> to &gt;

主要问题是 html 没有按预期显示

php html codeigniter formatting
3个回答
3
投票

查看 htmlspecialchars PHP 函数。


2
投票

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');

所以这是一个很好的快捷方式,并且始终可用(无需加载助手)。


2
投票

您可以将输出包装在

htmlspecialchars();
函数中,例如:

print htmlspecialchars($content);
© www.soinside.com 2019 - 2024. All rights reserved.