You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 12与CKEditor 5:移除<td>标签多余属性和样式

TYPO3 12中CKEditor移除Word复制表格<td>多余style属性的解决方法

问题场景

从格式复杂的MS Word文档复制内容到CKEditor字段,保存后多数标签属性已被清理,但仍有残留:

  • 复制带背景色、自定义内边距的Word表格后,生成的<td>标签保留大量冗余style属性(如背景色、内边距样式)
  • 现有CKEditor配置已能移除<p>标签样式,但<td>标签的样式未被清理
  • 使用编辑器“清除格式”按钮、设置styles:false均无效

需求:仅保留<td>标签的width样式属性,移除其余所有style属性。

解决步骤

1. 通过TSconfig配置后端HTML过滤

在TYPO3的用户/页面级别TSconfig中,定制RTE的HTML解析规则,精准过滤<td>的属性:

RTE.default.proc {
  entryHTMLparser_db {
    tags.td {
      allowedAttribs = width,rowspan,colspan
      fixAttribs.width {
        trim = 1
        stripFunc = htmlspecialchars
      }
    }
  }
  HTMLparser_db {
    tags.td {
      allowedAttribs = width,rowspan,colspan
    }
  }
}

该配置强制<td>仅保留width、rowspan、colspan属性,其余属性(包括冗余style)会被自动清理。

2. 补充CKEditor前端内容过滤规则

如果TSconfig过滤不够彻底,可在自定义CKEditor配置中追加内容过滤逻辑:
在Configuration/JavaScript/CKEditor/Config.js中添加:

CKEDITOR.editorConfig = function(config) {
  config.extraAllowedContent = 'td[width]';
  config.disallowedContent = 'td{*}; td[!width]';
};

extraAllowedContent指定允许<td>保留width属性,disallowedContent禁止<td>的所有style属性及非width属性。

3. 验证配置生效

修改后需完成以下操作:

  • 清除TYPO3系统缓存
  • 刷新CKEditor页面,重新复制Word表格内容测试

内容的提问来源于stack exchange,提问作者seirerman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:42:35