你现在的位置:首页 > PHP网站建设知识库 > phpcms > 正文

解决phpcms中str_cut截取文章内容时p,DIV等标签被截断变形问题

str_cut这个函数在PHPCMS中一个不错的用来截取标题到特定长度或截取内容摘要的函数,在模板中也可使用,常用于文章列表截取标题长度,或者截取内容部分长度。

但有PHPCMS用户在实际使用中遇到这样的问题:用str_cut截取内容时,内容中的HTML标签如DIV等被截断,这样导致放置截取内容的页面DIV布局发生变形。

如:
str_cut('<div>这样导致放置截取内容的页面DIV布局发生变形。</div',15,'...')
得到的是前面“<div>”和一部分汉字内容,而后面的“</div>”被断掉了。

那么怎样一般处理会避免HTML标签被截断后导致的布局变形呢?实际因为我们要么是截取标题,要么是截取摘要,所以,一般不需要保存文字中的HTML标签,我们在使用str_cut截取前选用去除HTML标签的函数处理下文本。如:

{(str_cut(strip_tags($r[introduce]),120,'...'))}

注:strip_tags()为PHP中去除字符串HTML标签的函数,可直接在PHPCMS模板中使用。