2012-03-18 51 views
11

我使用DOMDocument來編輯一些HTML文件,但一些主題在其名稱空間中。所以DOMDocument自動將空格更改爲%20,然後找不到它們。PHP DOMDocument錯誤實體'nbsp'未定義

這究竟怎麼看的錯誤:

Warning: DOMDocument::load() [domdocument.load]: Entity 'nbsp' not defined in file:///C:/Path/To/The/File/01%20c%2040-1964.html, line: 11 in C:/Path/To/class.php on line 51 

你knouw如何修復這個錯誤?

預先感謝答案

+0

如果不加載但追加XML數據並且出現此錯誤,則會出現相關問題:[DOMDocument appendXML with special characters](http://stackoverflow.com/q/4645738/367456) – hakre 2013-05-03 12:18:08

回答

13

使用DOMDocument::loadHTMLFile()而不是load()。這就是它所做的。 HTML不是XML。

XML不知道指定實體 。但是,如果使用loadHTML,則XML解析器將獲取加載的HTML命名實體,以便錯誤消失。

另請參閱:XML parser error: entity not defined

+0

我使用帶有HTML標籤的XML沒有正確插入到它。我想用load()加載它,因爲它是XML。我該怎麼辦? – mrarm 2016-12-15 08:08:13