主页 > 网站建设 > 建站知识 > DEDE标题长截取加省略号,dede标题自动截取长度

DEDE标题长截取加省略号,dede标题自动截取长度

POST TIME:2018-02-04 22:27

在过程中也许很多人会遇到这样的情况,列表标题文字太长了,想截取文字长度,同时在标题后面加省略号...,提示性的符号,这样比较友好,今天就和大家说下DEDE标题长截取加省略号,修改l的方法,
{dede:arclisttitlelen='50'row='10'}
<li><atitle="[field:title/]"href="[field:filename/]">[field:titlefunction='(strlen("@me")>30?cn_substr("@me",30)."...":"@me")'/]</a></li>
{/dede:arclist}

具体的字数根据自己的要求调整即可。

还有另外一种情况,假如标题在dede中加了加粗属性,上面的截取方法截取的时候就会把加粗生成的strong标签算进字符数内,
如下一段文字
<strong>印度泰姬陵旅游攻略有哪些</strong>

如果截取30个字符,就会在源代码里这样显示
<strong>印度泰姬陵旅游攻略有哪些

如果截取32个字符,就会在源代码里这样显示
<strong>印度泰姬陵旅游攻略有哪些</
这样就会因为strong没有正常的关闭,使得网页字体全部加粗显示

经过我找各方面的资料加上上面的代码,终于解决了这个问题

{dede:arclisttitlelen='50'row='10'}
<li><atitle="[field:title/]"href="[field:filename/]">[field:titlefunction='(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标签后截取字符的大小。


收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266