Querypath и Malformed HTML - PullRequest
       13

Querypath и Malformed HTML

2 голосов
/ 21 октября 2010

Я использую QueryPath для управления страницами DOM. На странице, которой я управляю, есть некоторые теги, которые QueryPath не знает, как их интерпретировать.

Я попытался передать следующие параметры, но я все еще получаю ошибки:

ignore_parser_warnings
use_parser (html)

Я получаю следующие ошибки, если они включены:

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Tag nobr invalid in Entity</p> <p>Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: htmlParseEntityRef: expecting ';' in Entity

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

7 голосов
/ 23 мая 2012

Используйте htmlqp() вместо qp(). Функция htmlqp() значительно исправляет неприятный HTML.

2 голосов
/ 21 октября 2010

Попробуйте функции libxml

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

Вместо того, чтобы просто удалять ошибки, вы можете выбрать обработку этих ошибок, хотя в большинстве случаев этого достаточно.

0 голосов
/ 24 марта 2011

Просто используйте @ перед вашими функциями QueryPath для подавления предупреждений.Хотя недействительный HTML может генерировать предупреждения, он, как правило, справляется с этим просто отлично.

...