Разбор (недопустимого) HTML с другого веб-сайта с использованием PHP

Я пытаюсь проанализировать следующий HTML-код по следующему URL-адресу:

http://md5.rednoize.com/?q=fbade9e36a3f36d3d676c1b808451dd7

Код:

    $html = file_get_contents($url.$hash);
    $config = array(
      'clean' => 'yes',
      'output-html' => 'yes',
    );
    $tidy = tidy_parse_string($html, $config, 'utf8');
    $tidy->cleanRepair();
    $dom = new DOMDocument;
    $dom->loadHTML($tidy);

    $result = $dom->getElementById('result');

Однако это неверно:

Warning: DOMDocument::loadHTML() [<a href='domdocument.loadhtml'>domdocument.loadhtml</a>]: ID switcher already defined in Entity, line: 128 in

Есть ли способ все еще быть в состоянии разобрать его?


person PeeHaa    schedule 09.07.2011    source источник
comment
Может быть, глупое замечание, но нельзя ли просто поставить «чистый» => «да», а «чистый» => «нет», ?   -  person Hans Wassink    schedule 10.07.2011
comment
@Hans: Зачем мне это делать?   -  person PeeHaa    schedule 10.07.2011
comment
Что произойдет, если вы измените $dom->loadHTML($tidy); на $dom->loadHTML($tidy->value);   -  person Glass Robot    schedule 10.07.2011


Ответы (1)


Вы можете попытаться разобрать его после отключения строгой проверки ошибок:

$dom = new DOMDocument;
$dom->strictErrorChecking = FALSE;
$dom->loadHTML($tidy);
person Michael Berkowski    schedule 09.07.2011