HTML特殊字符解码不在CI中工作

时间:2012-05-19 16:49:41

标签: php codeigniter

我正在为我的网站使用Code Ignitor。问题是在同一服务器上的函数htmlspecialchars_decode($ str);当我使用CI时,它正在工作,但不是。

这是我在控制器功能中的代码:

$meta_d = $this->site_model->lyrics_meta_desc();
$data['meta_desc'] = htmlspecialchars_decode($meta_d);

这在我看来:

<meta name="description" content="<?php echo character_limiter($meta_desc, 150);?>" />

我有什么遗失的吗?或者其他一些事情要做CI。请建议。通过我加载文本助手的方式来使用character_limiter。

1 个答案:

答案 0 :(得分:1)

给定的代码按预期工作。

但是,如果您想从&#73;&#39;&#118;&#101;&#32;&#119;&#97;&#108;等Html实体获取可读文本。您需要在utf8_encode()之后致电htmlspecialchars_decode()。我建议您也使用html_entity_decode(),因为它包含所有html实体。

所以,

$meta_d = $this->site_model->lyrics_meta_desc();
$data['meta_desc'] = utf8_encode(html_entity_decode($meta_d));