简单的Dom Parser问题与最新的PHP版本

时间:2017-10-11 10:42:38

标签: php

有一段时间我一直在使用Simple DOM Parser从网站中提取一些信息,但最近它并不适用于我,例如,我无法从这个网站解析,这是顺便说一句wordpress网站:

include_once("simplehtmldom/simple_html_dom.php");
$pageUrl = "http://abstellgenehmigung.com/";
$html = file_get_html($pageUrl);
if(!empty($html)){
    if(!empty($html->find("a"))){
        foreach($html->find("a") as $a){
           echo($a->getAttribute('href') .'<br> ');
         }
       }
    }

你们知道如何解决这个问题,或者你知道其他替代简单的dom解析器吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我对Simple HTML5 Dom Parser和PHP 7(或更准确地说,PHP 7.1)的file_get_html函数有疑问。

注意:我刚刚注意到该错误已于昨天得到纠正,因此该问题不应出现在最新版本(https://sourceforge.net/p/simplehtmldom/repository/ci/3ab5ee865e460c56859f5a80d74727335f4516de/

解决方法:替换

$html = file_get_html('websiteURL');

(which is equivalent to)

$html = file_get_html('websiteURL', false, null, -1);

作者

$html = file_get_html('websiteURL', false, null, 0);

说明:PHP函数7.1已更改PHP函数“ file_get_contents”(已添加对负偏移的支持),因此,简单HTML5 Dom解析器使用的-1值对PHP> = 7.1无效。