使用系统自带的 {dede:field function='cn_substr(@me,100)'/} 标签 (最推荐)
这是织梦系统原生提供的方法,最简单、最直接,也是官方推荐的方式,它利用了织梦的 function 属性来调用一个PHP函数 cn_substr(),该函数可以截取字符串并支持中文。

(图片来源网络,侵删)
适用场景: 在列表页(index.htm, list_*.htm)中,让文章摘要显示固定的字数。
操作步骤:
- 打开你的列表页模板文件,通常是
/templets/default/index.htm(首页)或者/templets/default/list_*.htm(栏目页)。 - 找到文章标题和摘要的代码,通常是这样的结构:
<li> <a href="[field:arcurl/]">[field:title/]</a> <p>[field:description function='html2text(@me)'/]...</p> </li> - 修改
[field:description],将其替换为带字数限制的标签。[field:description]:调用文章摘要。function='cn_substr(@me, 100)':这是核心。@me:代表当前标签的原始值,即[field:description]的内容。cn_substr:织梦内置的截取字符串函数,它能正确处理中文字符,不会出现乱码。100:你想要显示的字符数(包括中文字符和英文字母/数字)。
修改后的代码示例: 显示 100个字符。
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<!-- 将下面的第一行替换为第二行 -->
<!-- <p>[field:description function='html2text(@me)'/]...</p> -->
<p>[field:description function='cn_substr(@me, 100)'/]...</p>
</li>
进阶用法:

(图片来源网络,侵删)
-
如果文章没有填写摘要,则从内容中截取: 这是一个更智能的用法。
[field:description]为空,系统会自动从[field:body](文章正文)中截取。<p> [field:description function='cn_substr(@me, 100)'/] <a href="[field:arcurl/]">[查阅全文]</a> </p> <!-- 如果摘要为空,则显示下面这个标签的内容 --> [field:body function='cn_substr(@me, 100)'/]...
-
同样,你也可以用这个方法来限制标题的显示长度。
<a href="[field:arcurl/]">[field:title function='cn_substr(@me, 30)'/]</a>
使用 {dede:arclist} 标签的 sublen 属性
{dede:arclist} 是调用文章列表的标签,它自身就带有一个 sublen 属性,可以直接限制标题的长度。
适用场景: 在 {dede:arclist} 标签中,只限制文章标题的长度。

(图片来源网络,侵删)
操作步骤:
- 在模板文件中找到
{dede:arclist}- 在标签内添加
sublen='长度'属性。 - 在标签内添加
代码示例:
{dede:arclist titlelen='30' row='10'}
<li>
<!-- sublen='20' 限制标题显示20个字符 -->
<a href="[field:arcurl/]">[field:title function='(@me,20)'/]</a>
<p>[field:description/]</p>
</li>
{/dede:arclist}
注意:
sublen属性通常只对[field:title]生效。- 对于
[field:description]或[field:body],仍然需要使用方法一的function='cn_substr()'。
修改数据库字段长度 (高级,不推荐普通用户操作)
这个方法不是在模板上做限制,而是直接修改数据库的结构,从根本上限制用户能输入的字数。
适用场景: 强制所有用户在后台发布文章时,摘要或内容不能超过某个长度,这通常用于有严格内容规范的企业站。
警告: 此方法有风险,操作不当可能导致网站异常。请务必在操作前备份你的数据库!
操作步骤 (以修改 description 摘要字段为例):
- 登录你的网站数据库,可以使用 phpMyAdmin 或其他数据库管理工具。
- 找到对应的表通常在
dede_archives表,description)就在这个表中。 - 修改字段类型。
- 找到
dede_archives表中的description字段。 - 点击“编辑”或“修改”。
- 将
类型从text(最大65,535字节)修改为varchar(n)。varchar(200):表示最大可以存储200个字符。varchar(500):表示最大可以存储500个字符。
- 保存修改。
- 找到
效果: 修改后,当你在后台编辑文章,文章摘要”输入框的内容超过了你设定的长度(如200个字符),系统将无法保存,并提示你内容过长。
缺点:
- 风险高:直接操作数据库。
- 不灵活:所有栏目都受此限制,无法针对不同栏目设置不同长度。
- 只影响后台输入:对已经发布的长文章摘要无效,需要手动修改。
总结与推荐
| 方法 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
cn_substr() |
简单、安全、灵活,可在任意模板中自由控制,是织梦的最佳实践。 | 无明显缺点。 | ⭐⭐⭐⭐⭐ (强烈推荐) |
sublen属性 |
使用简单,专门为{dede:arclist}标题设计。 |
功能单一,仅适用于标题,不灵活。 | ⭐⭐⭐ |
| 修改数据库 | 从根本上限制,后台无法输入超长内容。 | 风险高、不灵活、影响已发布内容。 | ⭐ (仅高级用户在特定需求下使用) |
对于绝大多数用户,请直接使用【方法一】,它是最简单、最安全、最有效的解决方案。
