程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> dedeCMS標題長截取加省略號、標題自動截取長度

dedeCMS標題長截取加省略號、標題自動截取長度

編輯:PHP綜合

很多人在制作列表頁的過程中會遇到列表標題文字太長了,想截取文字長度,同時在標題後面加省略號...,提示性的符號,這樣比較友好,接下來就和大家說下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標簽後截取字符的大小。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved