该手册解释了为什么:
为了使此功能起作用,您将需要使用DOMElement-> setIdAttribute()设置一些ID属性,或者将DTD定义为ID类型。在后一种情况下,在使用此功能之前,您需要使用DOMDocument-> validate()或DOMDocument-> validateOnParse来验证文档。
一定要使用有效的HTML并提供DTD。
快速修复:
。
$dom = new DOMDocument();
$html ='<html>
<body>Hello <b id="bid">World</b>.</body>
</html>';
$dom->validateOnParse = true; //<!-- this first
$dom->loadHTML($html); //'cause 'load' == 'parse
$dom->preserveWhiteSpace = false;
$belement = $dom->getElementById("bid");
echo $belement->nodeValue;
在此处输出“世界”。