使用dede CMS制作文章頁面時,有時需要截取文章正文的一部分來顯示,究竟怎么做呢?在網(wǎng)上搜索了一通也沒找到答案,就自己摸索實驗了一下。
dede:field.body 是dede cms的文章正文標(biāo)簽,官方幫助文檔中沒有介紹這個標(biāo)簽有什么屬性和參數(shù),但是,對于標(biāo)簽可以使用 function 進(jìn)行擴(kuò)展,function所使用的函數(shù)可以是系統(tǒng)函數(shù),也可以是自定義的函數(shù)。所以我們可以使用function調(diào)用函數(shù)對字符串做截斷操作以達(dá)到我們的目的。
{dede:field.body function=' substr(@me,0,810)'/}
substr是PHP的系統(tǒng)函數(shù),作用是取部份字符串。
語法: string substr(string string, int start, int [length]);
返回值: 字符串
將字符串 string 的第 start 位起的字符串取出 length 個字符。若 start 為負(fù)數(shù),則從字符串尾端算起。若可省略的參數(shù) length 存在,但為負(fù)數(shù),則表示取到倒數(shù)第 length 個字符。
例如:
echo substr(”abcdef”, 1, 3); // 返回 “bcd”
echo substr(”abcdef”, -2); // 返回 “ef”
echo substr(”abcdef”, -3, 1); // 返回 “d”
echo substr(”abcdef”, 1, -1); // 返回 “bcde”
?>
截斷功能經(jīng)我驗證完全有效,dede版本5.5。