我想让用户将文本粘贴到编辑器(当前是CKEditor)。通过粘贴文本,必须删除所有未列入白名单的样式和元素,包括图像,表格等。因此,90%应转换为纯文本或删除,同时应保留粗体,斜体或下划线等简单样式。
没想到那么复杂。但是我在文档和CKEditor的示例中找到的只是粘贴完整的纯文本或粘贴Word中的清理内容而无法配置白名单(即使我删除了所有与表相关的插件,它仍然可能从MS WorD粘贴表格。
我真的非常感谢任何提示。
感谢。
答案 0 :(得分:3)
你不能不写自己的解析器。另一个问题是MS word使用Windows-1252字符编码,大多数网络使用UTF-8编码,所以如果你从WORD粘贴并通过AJAX传输这些数据,它将会出现乱码。
虽然Dreamweaver有一个非常好的“粘贴词”功能,但你不太可能找到一个在线等效词。这是一个巨大而复杂的问题,本身就是一个应用程序。即使WORD的“另存为HTML”也无法做得不错。
可悲的是,最需要做的是将它全部删除到ASCII(粘贴到记事本中),将它放在编辑器中并将其标记回来。
答案 1 :(得分:1)
您可以在编辑器实例中为“粘贴”事件添加侦听器:http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#event:paste
通过这种方式,您可以获得要粘贴的HTML,并且可以执行所需的任何清理(例如,基于将该html插入div,然后使用DOM,或使用字符串上的regexp)。 / p>
答案 2 :(得分:0)
找到解决方案: