【发布时间】:2017-06-10 05:32:56
【问题描述】:
使用 PHPDOMDocument->loadHTML 加载 html 时,使用 LIBXML_NOWARNING 选项标志不会停止警告。不过,其他常量确实有效。
在下面的示例中,我添加了 LIBXML_HTML_NODEFDTD 来证明已收到常量(停止添加 doctype)。
$doc=new DOMDocument();
$doc->loadHTML("<tagthatdoesnotexist><h1>Hi</h1></tagthatdoesnotexist>",LIBXML_NOERROR | LIBXML_NOWARNING | LIBXML_HTML_NODEFDTD);
echo $doc->saveHTML();
但是,仍然会生成并输出警告。我错过了什么?
【问题讨论】:
-
会产生什么警告?
-
在示例中,
不验证为可识别的 html 标记名称。在现实世界中,HTML 有时会以其他方式出现格式错误,从而产生解析错误。