如何将HTML片段转换为另一个HTML片段
How to transform an HTML fragment to another HTML fragment?
我有一个contentEditable
类型的浏览器编辑器,用户可以在其中复制/粘贴或选择要放入的html片段。
这些片段可以是任何类型的HTML,因此我们必须对内容进行净化,使其不包含一些安全问题标签(如<script>
等)
我知道一些清理程序库允许一些白名单策略(比如JVM上的JSoup),但这些规则通常非常简单,比如说哪些标签/属性被列入白名单,而没有其他规则。
我们想要更先进的规则,如:
- 定义要保留或不保留的内联样式
- 将相对链接转换为绝对链接
- 根据类别名称将一些标签列入黑名单或白名单
- 根据URI模式允许一些URI属性(比如只允许链接到某个域)
- 在某些情况下,我们希望被禁止的dom节点被它们的子节点"替换"(以删除格式化和html布局元素,但不释放列入黑名单的标签中的文本节点
到目前为止,我们已经做了一些代码来处理这个问题,但我觉得这很难处理。是否有已知的库、标准或算法来处理这些事情?我不是XML解析/转换专家,我可以使用任何东西,比如XSLT、SAX或其他可以帮助我解决问题的东西。
我正在寻找浏览器(JS)和JVM(Java或Scala)的解决方案。你知道如何做到这一点吗?
也许Showdown.js能帮你?https://github.com/showdownjs/showdown
相关文章:
- 具有服务器端呈现的HTML片段的主干模型
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- 将代码片段转换为 HTML 页面
- KnockoutJS-打印html片段
- 如何将 HTML 字符串附加到文档片段
- 使用 AngularJS 解析 HTML 片段
- 使用 Javascript 或所见即所得打开和编辑 html 页面的片段
- 保留粘贴到 IE 中的 HTML 片段的条件注释
- 如何使用 JQuery 从另一个文件加载 HTML 片段
- Fancybox:如何滚动HTML片段,而不是具有相同效果的图像
- 如何重用HTML片段,但更改其中元素的ID
- 在libxmljs中附加html片段作为节点值
- 为单页应用程序构建HTML和JS片段的时组装
- 如何将HTML片段转换为另一个HTML片段
- 使用jQuery查找离滚动位置最近的HTML片段标识符
- Backbone.js-如何包含外部HTML片段
- 如何为拥有它的HTML片段提供初始数据'自己的控制器
- 我可以将HTML片段存储在不同的文件中,但可以通过JavaScript访问吗
- 如何存储HTML片段并稍后将其插入文档中
- 正在为HTML片段中的img标记设置baseUrl