我使用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
你知道如何修复这个错误吗?
提前谢谢你的答案
使用 DOMDocument::loadHTMLFile()
代替 load()
。这就是它的目的。 HTML不是XML。
XML不知道命名实体
。但是,如果使用loadHTML,XML解析器将加载HTML命名实体,以便错误消失。
另见: XML解析器错误:未定义实体。
$textHTML = '<ul> <li>Dentro da ordem jur&iacute;dica
brasileira.</li> </ul>
像这样保存在XML文件中:
htmlspecialchars($textHTML, ENT_QUOTES);
像这样恢复文件:
$doc->load(file.xml);