【发布时间】:2017-08-19 10:36:06
【问题描述】:
我正在使用 SimpleHTMLDOM 解析器从其他站点获取数据。这在 PHP 7.0 上运行良好。由于我升级到 PHP 7.1.3,我从 file_get_contents 得到以下错误代码:
警告:file_get_contents():流不支持搜索 /..../test/scripts/simple_html_dom.php 上线 75 警告:file_get_contents():未能在 流入 /..../test/scripts/simple_html_dom.php 上线 75
我做了什么
我降级到 PHP 7,它像以前一样工作,没有任何问题。接下来,我查看了解析器的代码。但我没有发现任何异常:
function file_get_html($url, $use_include_path = false, $context=null, $offset = -1, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
{
// We DO force the tags to be terminated.
$dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
// For sourceforge users: uncomment the next line and comment the retreive_url_contents line 2 lines down if it is not already done.
$contents = file_get_contents($url, $use_include_path, $context, $offset);
// Paperg - use our own mechanism for getting the contents as we want to control the timeout.
//$contents = retrieve_url_contents($url);
if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
{
return false;
}
// The second parameter can force the selectors to all be lowercase.
$dom->load($contents, $lowercase, $stripRN);
return $dom;
}
我使用的解析器可以在这里找到:http://simplehtmldom.sourceforge.net/
【问题讨论】: