2

ページの DOM を操作するために QueryPath を使用しています。操作しているページには、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

どんな助けでも大歓迎です。

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 に答える