一尘不染

PHP清理粘贴的Microsoft输入

php

我有一个网站,用户可以使用TinyMCE的自定义实现发布内容(如论坛,评论等)。他们中的许多人喜欢从Word复制和粘贴,这意味着他们的输入通常带有大量相关联的MS内联格式。

我无法摆脱,<span whatever>因为TinyMCE的某些格式依赖于span标签,而且我不能(也不想)强迫用户使用TinyMCE的“从Word粘贴”功能(无论如何似乎都行得通)。

有谁知道可以帮我解决这个问题的库/类/函数?尽管我找不到任何确定的信息,但这肯定是一个普遍的问题。我最近一直在思考,寻找MS特定模式的一系列蛮力正则表达式可能会解决问题,但是除非希望,否则我不想重写可能已经可用的东西。

同样,固定引号,破折号等也不错。我现在有我自己的东西可以做,但是我真的很想找到一个MS转换过滤器来统治所有这些。


阅读 204

收藏
2020-05-29

共1个答案

一尘不染

HTML Purifier将创建符合标准的标记,并过滤掉许多可能的攻击(例如XSS)。

为了不需要XSS筛选的更快清理,我使用了PECL扩展Tidy,它是Tidy
HTML
实用程序的绑定。

如果这些方法对您没有帮助,建议您切换到内置了此功能的FCKEditor

2020-05-29