在我的代碼中,我使用openoffice將一些樣式化的xls文檔轉換爲html。 然後我使用xml_parser_create
解析表格。 問題是,openoffice創建oldschool html與未封閉的<BR>
和<HR>
標籤,它不會創建文檔類型,也不會引用屬性<TABLE WIDTH=4>
。在PHP中解析格式不正確的HTML
我知道的php解析器不喜歡這樣,併產生XML格式錯誤。我目前的解決方案是在解析文件之前對文件運行一些正則表達式,但這既不好也不快。
你知道一個(希望包含的)php解析器,它不關心這些類型的錯誤嗎?或者,也許是一個快速的方法來修復一個'壞'的HTML?
+1用於介紹htmlpurifier。 也可以查看http://simplehtmldom.sourceforge.net/。 – Alexar 2010-02-28 16:43:48
淨化器很好,但對於這個問題,感覺有點過度。 DOMParser也是如此。這是不正確的,它將需要比簡單的薩克斯解析器更多的時間和內存? – 2010-03-04 22:16:10
也許它會需要更多的RAM和時間;但它不僅僅是一個簡單的SAX解析,它只會讀取數據,而不會修復它;;;我會說一個SAX解析器將只能讀取有效的XML - 而HTMLPurifier和'DOMDocument :: loadHTML'都能夠讀取「破碎的」HTML。 – 2010-03-04 23:07:48