PHP loadHTML错误解决方案产生xPath查询问题

PHP loadHTML错误解决方案产生xPath查询问题,php,html,xpath,Php,Html,Xpath,我在加载包含空字节的HTML时遇到问题,我应用了错误修复,如下所示: 现在的问题是,我对“固定”HTML所做的任何查询都不会给出任何结果 我就是这么做的: $opts = array('http' => array('header' => 'Accept-Charset: UTF-8, *;q=0')); $context = stream_context_create($opts); $html=file_get_contents('http://actualidad.rt.com

我在加载包含空字节的HTML时遇到问题,我应用了错误修复,如下所示:

现在的问题是,我对“固定”HTML所做的任何查询都不会给出任何结果

我就是这么做的:

$opts = array('http' => array('header' => 'Accept-Charset: UTF-8, *;q=0'));
$context = stream_context_create($opts);
$html=file_get_contents('http://actualidad.rt.com/ultima_hora',false,$context);
$html=mb_convert_encoding($html, 'UTF-8', mb_detect_encoding($html, 'UTF-8, ISO-8859-1', true));
$html=str_replace("\0", '', $html); //Avoid PHP BUG https://stackoverflow.com/questions/30925533/php-dom-loadhtml-method-unusual-warning
$this->dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath=new DOMXPath($this->dom);
$COUNTDIVS=$xpath->query('//div');
$COUNTDIVS没有元素,而真正的HTML有一大堆div标记

而且,代码在不存在bug的网站上运行良好

我怎样才能修好它


非常感谢。

能否使用PHP打印顶级元素的名称和命名空间?这会给你一个很好的线索,你能用PHP打印出顶级元素的名称和名称空间吗?这会给你一个很好的线索来了解发生了什么。