使用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。