使用dede CMS制作文章页面时,有时需要截取文章正文的一部分来显示,究竟怎么做呢?在网上搜索了一通也没找到答案,就自己摸索实验了一下。
dede:field.body 是dede cms的文章正文标签,官方帮助文档中没有介绍这个标签有什么属性和参数,但是,对于标签可以使用 function 进行扩展,function所使用的函数可以是系统函数,也可以是自定义的函数。
所以我们可以使用function调用函数对字符串做截断操作以达到我们 的目的。
{dede:field.body function=’ substr(@me,0,810)’/}
substr 是PHP的系统函数,作用是取部份字符串。
语法: string substr(string string, int start, int [length]);
返回值: 字符串
将字符串 string 的第 start 位起的字符串取出 length 个字符。
若 start 为负数,则从字符串尾端算起。
若可省略的参数 length 存在,但为负数,则表示取到倒数第 length 个字符。
例如:
echo substr(”abcdef”, 1, 3); // 返回 “bcd”
echo substr(”abcdef”, -2); // 返回 “ef”
echo substr(”abcdef”, -3, 1); // 返回 “d”
echo substr(”abcdef”, 1, -1); // 返回 “bcde”
?>
截断 功能经我验证完全有效,dede版本5.5。