2009-12-26 60 views
3

我必須比較不同版本的HTML頁面以進行格式設置和文本更改。不幸的是,創建它們的人/公司使用某種HTML編輯器,每次都重新包裝所有的HTML(並增加了大量的空白),這使得很難區分它們。所以我正在尋找一種工具(最好是一個Java庫),它可以重新格式化我的HTML,以便刪除所有不重要的空格和換行符。如何從HTML中剝離無意義的空白空間

這意味着,在

<h1>First Headline</h1> <h2>Second headline</h2> 

</h1><h2>之間的空間應該被刪除,但在

<b>formatted</b> <i>text</i> 

空白可以不被去除。我不在乎<pre>,<textarea><script>塊,也沒有關於可以改變行爲的CSS空白屬性 - 我只是尋找一種解決方案,去除大部分不必要的空白(並且最好留出太多空白,而不是太少)。 (我已經摺疊了多個空格,並在標籤之前重新添加換行符而不是空格,以使文本更具可讀性 - 但仍然有太多情況,例如標題或表格單元格/行之間的新換行符會破壞我的內容簡單的「解決方案」)。

+0

它是DOM兼容乾淨的HTML?在這種情況下你有更多的選擇。 – bmargulies 2009-12-26 13:18:32

+0

它遠遠不合規。不知道哪(wysiwyg)工具被用來創建和編輯文件,但HTML是可怕的(多頭/身體標籤,很多丟失和等)。 – mihi 2009-12-26 14:23:14

+0

,別忘了像th ... – mihi 2009-12-26 14:25:09

回答

6

JTidy可能在這裏使用。它是一個HTML解析器,用於解析HTML(並且能夠容忍格式不正確的HTML),並將HTML呈現爲DOM,並且您可以覆蓋寫出這些內容以刪除您不感興趣的內容。