很多人在制作列表頁的過程中會遇到列表標題文字太長了,想截取文字長度,同時在標題後面加省略號...,提示性的符號,這樣比較友好,接下來就和大家說下DEDE標題長截取加省略號,修改l的方法,
{dede:arclist titlelen='50' row='10'}
<li><a title="[field:title /]" href="[field:filename /]">[field:title function=' ( strlen("@me")>30 ? cn_substr("@me",30)."..." : "@me" ) ' /]</a></li>
{/dede:arclist}
具體的字數根據自己的要求調整即可。
還有另外一種情況,假如標題在dede中加了加粗屬性,上面的截取方法截取的時候就會把加粗生成的strong標簽算進字符數內,
如下一段文字
<strong></strong>
如果截取30個字符,就會在源代碼裡這樣顯示
<strong>吾愛IT編
如果截取32個字符,就會在源代碼裡這樣顯示
<strong></
這樣就會因為strong沒有正常的關閉,使得網頁字體全部加粗顯示
經過我找各方面的資料加上上面的代碼,終於解決了這個問題
{dede:arclist titlelen='50' row='10'}
<li><a title="[field:title /]" href="[field:filename /]">[field:title function=' ( strlen(Html2text("@me"))>30 ? cn_substr(Html2text("@me"),30)."..." : "@me" ) ' /]</a></li>
{/dede:arclist}
Html2text()函數是去掉html標簽代碼。
strlen(Html2text("@me"))函數是計算去掉html標簽後字符的大小。
cn_substr(Html2text("@me"),30)函數是計算去掉html標簽後截取字符的大小。