在我正在开发的应用程序中,用户在文本框中输入HTML,以编辑其页面上的元素。在此阶段,用户可以添加任何种类的内容,甚至是损坏的HTML,以及一些文本节点。

为了确保我得到一些干净的代码,我这样做

var s = document.createElement('div');
s.innerHTML = content;
// loop over each node in s, and if text node is found, wrap in span.
content = s.innerHTML

此代码段的问题是内容是<TD>Text</TD>,我得到的结果是Text,因为TD中不能有DIV

在所有情况下,是否都有获取有效内容的修补程序?

最佳答案

使用DOM进行操作的问题在于,您实际上并不需要完全正确的html,因为您添加了允许html成为代码段的条件。您需要更正某些格式错误的html,而另一些则不需要。

谷歌搜索了一下这个jQuery插件:http://www.davidpirek.com/blog/html-beautifier-jquery-plugin

但我不能保证。

我可能会同意Graham的意见,并建议HTML Tidy,因为它非常成熟且快速,即使您必须等待响应。

关于javascript - 使用JavaScript清理HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8587395/

10-16 14:17
查看更多