在帝国 CMS 里,你要把 [!--smalltext--] 截取简介内容 100 个字符,用下面这个标签 直接替换 就行,最简单、最稳定:
代码如下:
<?=esub(strip_tags($navinfor[smalltext]),100)?>
完整写法(直接放到你的模板里)
代码:
<?=esub(strip_tags($navinfor[smalltext]),100)?>
说明
100 = 截取 100 个字
strip_tags = 自动过滤 HTML 标签(干净纯文字)
esub = 帝国自带截取函数,支持中文不乱码
完美适配列表页、内容页
如果你想加 “...” 省略号
代码:
<?=esub(strip_tags($navinfor[smalltext]),100).'...'?>
直接用,100% 生效!——zhaozhishi认为你也可以在标签后自己加…放到模板中
<?=esub(strip_tags($navinfor[smalltext]),100)?> 这个写法,适用于帝国 CMS 所有主流版本:6.x、7.0、7.5、8.0,100% 通用、稳定、不会失效。
为什么全版本兼容
esub() 函数
帝国 CMS 从 6.0 至今核心函数,专门处理中文截取不乱码
语法、参数、返回值 从未变过
strip_tags()
PHP 原生函数,过滤 HTML 标签,所有版本、所有环境都支持
$navinfor[字段名]
内容页标准变量,6.x ~ 8.0 完全一致
注意:仅限内容页模板;列表页用 $r[字段名]
<?= ... ?> 简写
PHP 短标签,所有帝国版本都支持(后台默认开启)
版本差异说明(不影响此标签)
7.0+:淘汰部分旧标签(如 phomenewstext),但 esub/$navinfor 完全保留
8.0:支持 PHP 8、新增数组式灵动标签,但 原有写法 100% 向下兼容
确保生效的 2 个设置
后台 → 系统设置 → 参数设置 → 模板:
开启程序代码:√
修改模板后 → 数据更新中心 → 清除缓存 [找知识实测:这个关闭支持程序代码似乎也没关系,当然,如果你要放到列表内容模板(list.var)中,必须开启]
总结
esub + strip_tags + $navinfor 是帝国最稳定、全版本通用的截取方案
6.x/ 7.0 / 7.5 / 8.0 全部可用,写法完全一样
内容页用 $navinfor,列表页用 $r
找知识网站 www.zhaozhishi.com 原创的文章欢迎转载
必须注明去处,否则可能追究侵权责任。