将字符串截断为特定数量的字符,忽略HTML

时间:2012-03-15 16:19:17

标签: php codeigniter

我使用Codeigniter的character_limiter()函数将字符串截断为一定数量的字符。我用这个来创建帖子摘录。

问题是,字符串包含HTML标记,因此这些字符正在计算中,但它们不可见。此外,它可以在标签中间剪掉字符串并弄乱页面格式。

例如,如果我有以下内容:

This is some text with a <a href="http://google.com">a link</a>

如果我将它限制为54个字符,它将在“链接”中的a之后切断,并且不会有结束标记,并且它会将所有内容转换为锚文本。

我该怎样防止这种情况?在限制字符之前,我是否应该完全删除所有HTML标记?

2 个答案:

答案 0 :(得分:1)

是的,character_limiter(strip_tags($text),54);应该适合您。

答案 1 :(得分:1)

$this->load->helper('text');
echo word_limiter(strip_tags($description),40);

这就是我为元描述所做的,试试http://caverne.fr