让DedeCMS标题标签超过指定字符自动截断的方法

在DedeCMS内容页标题如果显示的标题特别长,就显得不太美观,使用如下方法可以指定标题长度,超过这个长度可以增加文章或直接留空。

原标题标签:{dede:field.title/}

要判断DedeCMS标题标签是否超过60个字符并进行截断处理,可以使用以下代码:

{dede:field name='title' runphp='yes'}
if (strlen(@me) > 60) {
    @me = substr(@me, 0, 60) . '...标题太长,请看下面';
}
{/dede:field}

或者使用DedeCMS的截断函数:

{dede:field name='title' function='(strlen("@me")>60) ? cn_substr("@me",60)."...标题太长,请看下面" : "@me"'/}

代码功能:

  1. 检查标题长度是否超过60个字符
  2. 如超过则截取前60个字符并添加"...标题太长,请看下面"
  3. 如果不超过,则保持原标题不变
  4. 中文字符在UTF-8编码下占3个字节,如果需要按中文字符数计算,可以使用mb_strlen()和mb_substr()函数