Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 被简单的XPath错误所困扰_Php_Html_Dom_Xpath - Fatal编程技术网

Php 被简单的XPath错误所困扰

Php 被简单的XPath错误所困扰,php,html,dom,xpath,Php,Html,Dom,Xpath,请注意,这不是我的HTML(我正在抓取),因此更改HTML不是一个选项。loadHTML()希望在字符串中找到HTML,但这不是有效的HTML,因此无法正确加载字符串。XPath将没有要访问的元素。请改为尝试loadXML()。loadHTML()希望在字符串中找到HTML,但这不是有效的HTML,因此无法正确加载字符串。XPath将没有要访问的元素。请尝试使用loadXML()。问题是不能用DIV元素代替STYLE元素,因此在使用loadHTML时,无法验证HTML。如果您执行了$doc->s

请注意,这不是我的HTML(我正在抓取),因此更改HTML不是一个选项。

loadHTML()
希望在字符串中找到HTML,但这不是有效的HTML,因此无法正确加载字符串。XPath将没有要访问的
元素。请改为尝试
loadXML()

loadHTML()
希望在字符串中找到HTML,但这不是有效的HTML,因此无法正确加载字符串。XPath将没有要访问的
元素。请尝试使用
loadXML()

问题是不能用DIV元素代替STYLE元素,因此在使用
loadHTML
时,无法验证HTML。如果您执行了
$doc->saveHTML()
您很快就会意识到它正在将
包装到
CDATA

Warning: DOMDocument::loadHTML(): Unexpected end tag : div in Entity, line: 1 on line 8
要解决此问题,请改用
loadXML()

Warning: DOMDocument::loadHTML(): Unexpected end tag : div in Entity, line: 1 on line 8

问题是不能用DIV元素代替STYLE元素,因此当使用
loadHTML
时,它无法验证HTML。如果您执行了
$doc->saveHTML()
您很快就会意识到它正在将
包装到
CDATA

要解决此问题,请改用
loadXML()

Warning: DOMDocument::loadHTML(): Unexpected end tag : div in Entity, line: 1 on line 8

再次感谢!原来我还有另一个问题,但如果我不能解决它,我将作为一个新问题发布..用loadXML在此处发布新问题:@babonk-我为你的新问题提供了答案。再次感谢!原来我还有另一个问题,但如果我不能解决它,我将作为一个新问题发布..用loadXML发布了这个新问题:@babonk-我为你的新问题提供了答案。