假设我有一些像这样的HTML:
<ol><li>a knock at the door, I'll be back in a second
我在我生成的div中显示为内联HTML。 有没有办法阻止内部格式错误的HTML搞砸HTML后面的整个文档的对齐?
我意识到智能解析它是一种选择(因为我在服务器端有它),但我正在寻找一种更轻松的解决方案。
修改我知道我可以用实体替换<
和>
,但我想保留格式(在合理范围内)。
答案 0 :(得分:4)
尽管您正在寻找比HTML解析更“轻松的解决方案”,但您可能需要考虑使用HTML Purifier或HTML Tidy,因为这应该为您处理损坏的标记 - 这基本上就是它们为...制作。
答案 1 :(得分:2)
您是否需要内联文字来支持HTML?如果没有,您可以删除所有HTML标记,或用转义替换<>
。或者,您可以将文本作为Markdown或任何其他非HTML语言存储在服务器上,并动态生成良好的HTML。
编辑:如果您确实需要HTML,我建议您在HTML代码段上运行XML验证程序。您实际上并不需要查看XML的结构:如果片段格式良好,那么它将不太可能破坏其余的布局。
答案 2 :(得分:1)
将<
和>
替换为ascii / unicode equivalent [{1}}和<
OR >
和<
OR >
, \u003c