Я использую QueryPath для управления страницами DOM. На странице, с которой я манипулирую, есть теги, которые QueryPath не знает, как интерпретировать.
Я пробовал передать следующие параметры, но я все еще получаю ошибки:
ignore_parser_warnings
use_parser (html)
Я получаю следующие ошибки при включении:
Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Tag nobr invalid in Entity
Предупреждение: DOMDocument :: loadHTML () [domdocument.loadhtml]: htmlParseEntityRef: ожидается ';' в сущности
Любая помощь будет принята с благодарностью.
Попробуйте функции libxml
libxml_use_internal_errors(TRUE); $dom->load('whatever'); // or whatever you use for loading the DOM libxml_clear_errors();
отlibxml_use_internal_errors(TRUE); $dom->load('whatever'); // or whatever you use for loading the DOM libxml_clear_errors();
Вместо того, чтобы просто очищать эры, вы можете решить их обработать, хотя для большинства случаев вышеуказанного должно быть достаточно.
Вместо qp()
используйте htmlqp()
qp()
. Функция htmlqp()
выполняет значительное количество исправлений для yucky HTML.
Просто используйте @ перед функциями QueryPath для подавления предупреждений. В то время как недействительный HTML может генерировать предупреждения, он может в целом справиться с этим просто отлично.