我在我的應用程序中嵌入了HTML Tidy來清理傳入的HTML。但泰迪有大量的錯誤,並直接修復它們是我最糟糕的噩夢。整潔的源代碼是難以理解的憎惡。千行+函數,可變的變量命名,意大利麪條代碼等等。這真是太可怕了。是否有替代HTML Tidy?
更糟糕的是,官方發展seems to have ceased。在過去的12個月中,已有三個向官方CVS回購寫交易。但它已經死了,埋沒的時間比這更長......
因此,我正在尋找一個OSS C或C++應用程序/庫,它可以完成Tidy可以做的事情(當它感覺像這樣)時:修復壞的HTML標記並將其轉換爲有效的XHTML(這是我感興趣的部分)。我的意思是各種糟糕的標記。
有沒有像那樣的東西?
編輯:我需要它通過XML處理工具在DOM樹上的操作以及一般符合XHTML規範。我的應用程序需要接受來自用戶的HTML(通常以各種方式無效)並輸出有效的XHTML。它需要能夠處理甚至通常不會在瀏覽器中顯示的HTML,因爲用戶手動編輯並且之後不檢查。
Tidy的糾錯解析器的一個直接替換...不吸引。如果源代碼可讀,我不介意錯誤,並且我可以自己解決問題,或者是否有活躍的開發人員及時提供錯誤修復。
不知道這對你是否有用,但有一個名爲TagSoup的Java庫(http://home.ccil。org /〜cowan/XML/tagsoup /),它顯然有一些C++端口,可能除了一個不自由,我不確定其他的端口是否維護。它產生一串SAX事件,但將其轉換爲XML輸出應該只是將正確的管道連接到噴嘴的問題。不過,從來沒有使用過它。 – 2010-02-21 19:15:03