显示格式错误的HTML“安全吗?”

时间:2010-05-21 15:22:46

标签: html

假设我有一些像这样的HTML:

<ol><li>a knock at the door, I'll be back in a second

我在我生成的div中显示为内联HTML。 有没有办法阻止内部格式错误的HTML搞砸HTML后面的整个文档的对齐?

我意识到智能解析它是一种选择(因为我在服务器端有它),但我正在寻找一种更轻松的解决方案。

修改我知道我可以用实体替换<>,但我想保留格式(在合理范围内)。

3 个答案:

答案 0 :(得分:4)

尽管您正在寻找比HTML解析更“轻松的解决方案”,但您可能需要考虑使用HTML PurifierHTML Tidy,因为这应该为您处理损坏的标记 - 这基本上就是它们为...制作。

答案 1 :(得分:2)

您是否需要内联文字来支持HTML?如果没有,您可以删除所有HTML标记,或用转义替换<>。或者,您可以将文本作为Markdown或任何其他非HTML语言存储在服务器上,并动态生成良好的HTML。

编辑:如果您确实需要HTML,我建议您在HTML代码段上运行XML验证程序。您实际上并不需要查看XML的结构:如果片段格式良好,那么它将不太可能破坏其余的布局。

答案 2 :(得分:1)

<>替换为ascii / unicode equivalent [{1}}和&#60; OR &#62;&lt; OR &gt;\u003c