Querypath和格式错误的HTML

时间:2010-10-21 12:08:42

标签: php querypath

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

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

ignore_parser_warnings
use_parser(html)

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

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

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

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:7)

使用htmlqp()代替qp()htmlqp()函数对于令人讨厌的HTML进行了大量修复。

答案 1 :(得分:2)

尝试libxml functions

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

您可以选择处理它们,而不仅仅是清除错误,尽管上述情况应该足以满足大多数情况。

答案 2 :(得分:-1)

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