PHP DOMDocument错误实体'nbsp'未定义

Luk*_*lič 14 php dom domdocument

我使用DOMDocument编辑一些HTML文件,但是一些主题在其名称空间中.所以DOMDocument自动将空格更改为%20,然后找不到它们.

这就是如何准确查看错误:

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
Run Code Online (Sandbox Code Playgroud)

你知道如何修复这个错误吗?

提前感谢您的回答

hak*_*kre 14

DOMDocument::loadHTMLFile()而不是load().这就是它的目的.HTML不是XML.

XML不知道命名实体 .但是,如果使用loadHTML,XML解析器将加载HTML命名实体,以便错误消失.

请参阅:XML解析器错误:未定义实体.


小智 7

如果加载 xml - 使用带有标志 ENT_XML1 的 htmlentities()。

$offerXml->addChild('name', htmlentities($name, ENT_XML1));
Run Code Online (Sandbox Code Playgroud)