温馨提醒

如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢

本文最后更新于2023年10月19日,已超过 180天没有更新

<ul>
{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}
</ul>

具体的字数根据自己的要求调整即可。还有另外一种情况,假如标题在 dede 中加了加粗属性,大家查看网页源代码

<strong>文章标题测试演示说明</strong>

就会发现是多出一个<strong></strong>标签,上面的截取方法截取的时候就会把加粗生成的 strong 标签算进字符数内,输出的标题格式可能就会是

<strong>文章标题测试演示说明</……的形式,今天的重点是以下是解决办法:

<ul>
{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}
</ul>

在这里多说一句就是必须要有标题长度的限制字段

titlelen='50'

当然了里面的数值可以自己修改,但是一定要注意,设定的字符长度一定要大于截取的字符长度,不然不显示省略号,同时简要的说明一下里面调用到的函数:

Html2text() 函数是去掉 html 标签代码。

strlen(Html2text("@me")) 函数是计算去掉 html 标签后字符的大小。

cn_substr(Html2text("@me"),30) 函数是计算去掉 html 标签后截取字符的大小。

历史上的今天
10月
19
    抱歉,历史上的今天作者很懒,什么都没写!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。