Simple_Dom错误:file_get_contents():流不支持在Laravel中搜索

时间:2018-10-23 08:49:10

标签: php laravel simpledom

出现以下错误。

  

file_get_contents():流不支持搜索

我由作曲家安装了simple_dom:

composer require sunra/php-simple-html-dom-parser

并也使用了这个:

use Sunra\PhpSimple\HtmlDomParser;

这是我的代码:

$weblink = "http://www.sumitomo-rd-mansion.jp/kansai/";
    function fetch_sumitomo_links($weblink)
    {
        $htmldoc = HtmlDomParser::file_get_html($weblink);
        foreach ($htmldoc->find(".areaBox a") as $a) {
            $links[]          = $a->href . '<br>';
        }
        return $links;
    }

    $items = fetch_sumitomo_links($weblink);

    print_r($items);

但是我遇到一个错误。任何想法? 感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

答案在错误消息中。您用于读取数据的输入源不支持搜索。

更具体地说,$htmldoc->find()方法正在尝试直接读取文件以搜索所需内容。但是因为您是直接通过http读取文件,所以不支持此操作。

您的选择是首先加载文件,以便HtmlDomParser不必从磁盘搜索,或者如果您需要从磁盘搜索,那么它至少可以从支持搜索的本地数据源读取

答案 1 :(得分:0)

这是问题解决者:

$url = 'http://www.sumitomo-rd-mansion.jp/kansai/';

    function fetch_sumitomo_links($url)
    {
        $htmldoc = HtmlDomParser::file_get_html($url, false, null, 0 );
        foreach ($htmldoc->find(".areaBox a") as $a) {
            $links[]          = $a->href . '<br>';
        }
        return $links;
    }

    $items = fetch_sumitomo_links($url);

    print_r($items);