我必须比较不同版本的 HTML 页面的格式和文本更改。不幸的是,创建它们的人/公司使用某种 HTML 编辑器,每次都会重新包装所有 HTML(并添加大量空白),这使得很难区分它们。所以我正在寻找一种工具(最好是 Java 库),它可以以一种删除所有无关紧要的空格和换行符的方式重新格式化我的 HTML。
也就是说,在
<h1>First Headline</h1> <h2>Second headline</h2>
</h1>
之间的空格和 <h2>
应该被删除,但在
<b>formatted</b> <i>text</i>
空格可能不会被删除。我不关心<pre>
, <textarea>
或 <script>
block ,也不是关于可以改变行为的 CSS 空白属性 - 我只是在寻找一种解决方案,去除大部分不必要的空白(最好留下太多空白而不是太少)。
(我已经折叠多个空格并重新添加换行符而不是标记前的空格以使文本更具可读性 - 但仍然有太多情况,例如标题或表格单元格/行之间的新换行符打破了我的简单“解决方案”。)
最佳答案
JTidy可能在这里有用。它是一个 HTML 解析器,可以解析 HTML(并容忍格式不正确的 HTML)并将 HTML 呈现为 DOM,您可以重写它的写法以删除您不感兴趣的任何内容。
关于java - 如何从 HTML 中去除无关紧要的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1963337/