Вопрос

Я использую QueryPath, чтобы манипулировать страницами DOM. Страница, которую я управляю, имеет несколько тегов, которые QueryPath не знает, как интерпретировать.

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

lightore_parser_warnings.
use_parser (html)

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

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

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

Любая помощь будет очень ценится.

Это было полезно?

Решение

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

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

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

Другие советы

Использовать htmlqp() вместо qp(). Отказ То htmlqp() Функция делает значительное количество фиксации для Yucky HTML.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top