php - FCKeditor 留下了很多打开的标签 - 如何删除它们

标签 php javascript fckeditor

所以我正在使用 FCKeditor,我遇到的问题是,当用户编写文档时,有时信息是从 Word 中复制的,有时是直接在编辑器中写入的,有时则可以两种方式完成。这让我在数据库中留下的是许多打开且从未关闭的标签。这大大打乱了我的布局,我正在努力寻找解决方案。

我将配置文件更改为粘贴为纯文本,我认为这会阻止 Word 格式传输,但它仍在这样做。

所以现在我想找出一种方法来搜索开始标签并在信息发送到数据库之前删除它们。还是我缺少一些 FCKeditor 功能/配置选项来帮助我?

关于我应该如何进行的任何建议?

谢谢
列维

最佳答案

作为一种安全预防措施,可以解决与安全相关的问题(例如 <script> 标签被用户插入——您可能不想要)问题(例如未关闭的标签),您可以使用像HTMLPurifier 这样的工具在您的服务器上,在您从浏览器接收到的内容上。

当然,这并不能解决第一个问题,即用户可以在 FCKEditor 中输入任何内容;但它将确保您的 HTML 既有效又安全。

实际上,即使 FCKEditor 没有为您提供无效的 HTML,您仍然可以使用 HTMLPurifier,只是为了安全。

这个想法是你提供一个列表:

  • 允许的标签
  • 允许这些标签的属性

作为返回,HTMLPurifier 为您提供干净有效的 HTML。

关于php - FCKeditor 留下了很多打开的标签 - 如何删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430490/

相关文章:

php - 将 session 安全地传递到另一个浏览器的最佳方法

javascript - 如何在 JavaScript 中制作最快的自下而上的树转换器?我应该自己管理内存吗?

javascript - 服务 js 库 : better performance from google code or using asset packager?

html - 更改ckeditor的背景?

c# - 有没有办法从 FCKEditor 中删除所有不必要的 MS Word 格式

php - php 的 mysql_real_escape_string() 的等效 javascript 代码是什么?

php - 简单的 html dom 不工作

php - fckeditor 不在 safari 中显示

php - 创建具有多个数据库表的 json API

javascript - 如何使用 Javascript/Ajax 但不使用 jQuery 获取远程 url 的状态代码?