2

嗨,我真的很喜欢新的 Ckeditor 4 高级内容过滤以及 pastefromword 插件 - 并且已经阅读了关于允许和不允许哪些 html 标记的文档,我理解为什么它将我客户的 MS Word 废话转换为htmlentities但是,在将文本发送到 CMS 数据库之前,我想做一些干预并将智能引号转换为直引号 - 并将所有破折号转换为纯破折号并且不允许。但我找不到关于此的任何文档或示例。

我可以看到在旧论坛 Ckeditor 论坛上有很多关于此的问题http://ckeditor.com/forums/CKEditor-3.x/Replacing-smart-quotes-regular-quoteshttp://ckeditor.com/forums /CKEditor-3.x/Problem-copyingpasting-MS-Word但他们没有得到答复。

我也希望 ckeditor 团队阅读这些论坛,因为这是他们建议我们现在发布问题的地方。

4

1 回答 1

5

CKEditor 开发人员在这里。

如果您希望 Paste From Word 插件执行此操作,您可以在插件中添加一个替换文本节点内容的规则。

为此,请在此处添加一个名为“text”的属性(与“comment”属性处于同一级别): https ://github.com/ckeditor/ckeditor-dev/blob/master/plugins/pastefromword/filter/ default.js#L1106

它应该是一个接受一个参数的函数——文本节点内容,例如:

text: function( content ) {
    return content.replace(/[\u201E\u201C]/g,'"'); // Unicode for „ and “
}

这样,每当 PFW 插件过滤器遇到文本节点时,它将用上述函数返回的任何内容替换其内容。

警告:有很多Unicode 符号代表引号和破折号。

顺便说一句:您可能不想太依赖于当前的 Paste From Word 插件 - 我们计划在 v4.6 中对其进行重大重构。

我希望这可以帮到你。

于 2016-01-20T17:21:09.600 回答