2

我正在使用 QueryPath 来操作页面 DOM。我正在处理的页面有一些 QueryPath 不知道如何解释的标签。

我尝试将以下内容作为选项传递,但仍然出现错误:

忽略解析器警告使用
解析器(html)

启用这些后出现以下错误:

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Tag nobr invalid in Entity

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: expecting ';' in Entity

任何帮助将不胜感激。

4

3 回答 3

7

使用htmlqp()而不是qp(). 该htmlqp()函数对令人讨厌的 HTML 进行了大量修复。

于 2012-05-23T02:47:08.237 回答
2

尝试libxml 函数

libxml_use_internal_errors(TRUE);
$dom->load('whatever'); // or whatever you use for loading the DOM
libxml_clear_errors();

除了清除错误之外,您还可以选择处理它们,尽管以上对于大多数情况来说应该足够了。

于 2010-10-21T12:10:51.787 回答
-1

只需在 QueryPath 函数前使用 @ 即可抑制警告。虽然无效的 HTML 可能会产生警告,但它通常可以很好地处理它。

于 2011-03-24T10:30:29.787 回答