前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >织梦调用出来的文章标题如果超过限制字数时在标题后面加省略号

织梦调用出来的文章标题如果超过限制字数时在标题后面加省略号

作者头像
Savalone
发布2020-02-11 12:36:16
9910
发布2020-02-11 12:36:16
举报
文章被收录于专栏:Savalone's BlogSavalone's Blog

在织梦建站仿站过程中也许很多人会遇到这样的情况,列表标题文字太长了,想截取文字长度,同时在标题后面加省略号...,提示性的符号,这样比较友好,今天就和大家说下 DEDE 标题长截取加省略号,修改l的方法:

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档