首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Codeigniter如何将<>格式化为html实体

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

Stack Overflow用户
提问于 2012-05-12 00:28:59
回答 3查看 4.5K关注 0票数 0

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

代码语言:javascript
运行
复制
< to &lt;
> to &gt;

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

EN

Stack Overflow用户

回答已采纳

发布于 2012-05-12 02:33:53

htmlspecialchars是使用原生PHP的方式,但您也可以使用Codeigniter的html_escape函数,如下所示:

代码语言:javascript
运行
复制
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)。在PHP5.4中,默认编码是UTF-8,但在此之前它是ISO-8859-1,这意味着每次调用htmlspecialchars时都必须设置所有3个参数,否则如果字符串中包含的字符不是默认编码,则可能会导致字符串损坏:

代码语言:javascript
运行
复制
$var = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');

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

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10555218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档