Codeigniter如何格式化< >到HTML实体

时间:2012-05-11 16:28:59

标签: html codeigniter formatting

我与codeigniter堆叠, 从数据库获取数组值时,我将它发送到解析器,该解析器显示带有数组值的页面,所以问题是html没有显示 怎么做:

< to &lt;
> to &gt;

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

3 个答案:

答案 0 :(得分:3)

查看htmlspecialchars PHP函数。

答案 1 :(得分:2)

您可以将输出包装在htmlspecialchars();函数中,例如:

print htmlspecialchars($content);

答案 2 :(得分: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');

所以这是一个很好的快捷方式,而且它总是可用的(不需要加载助手)。