在 过程中也许很多人会遇到这样的情况,列表标题文字太长了,想截取文字长度,同时在标题后面加省略号...,提示性的符号,这样比较友好,今天就和大家说下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>印度泰姬陵旅游攻略有哪些

如果截取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标签后截取字符的大小。

转载自:http://hi.baidu.com/hmhacker/item/8ca9b7d6d9900552d63aaeaa

  哈尔滨品用软件有限公司致力于为哈尔滨的中小企业制作大气、美观的优秀网站,并且能够搭建符合百度排名规范的网站基底,使您的网站无需额外费用,即可稳步提升排名至首页。欢迎体验最佳的哈尔滨网站建设