使用PHP解析(无效的)其他网站的HTML

3
我正在尝试从以下URL解析以下HTML代码: 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

有没有办法仍然能够解析它?

也许这是一个愚蠢的评论,但你不能只把 'clean' => 'yes' 改成 'clean' => 'no' 吗? - Hans Wassink
@Hans:我为什么要这样做呢? - PeeHaa
如果您将 $dom->loadHTML($tidy); 更改为 $dom->loadHTML($tidy->value); 会发生什么? - Glass Robot
1个回答

4
您可以在关闭严格错误检查后尝试解析它:
$dom = new DOMDocument;
$dom->strictErrorChecking = FALSE;
$dom->loadHTML($tidy);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接