Ошибка Simple_Dom: file_get_contents (): поток не поддерживает поиск в Laravel

Я получаю ошибку, как показано ниже.

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);

Но я получаю ошибку. Любая идея?
Спасибо за помощь!

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);
0

Другие решения

Ответ в сообщении об ошибке. Источник ввода, который вы используете для чтения данных, не поддерживает поиск.

Более конкретно, $htmldoc->find() Метод пытается прочитать непосредственно в файл, чтобы найти то, что он хочет. Но потому что вы читаете файл напрямую через http, который не поддерживает это.

Ваши варианты — сначала загрузить файл, чтобы HtmlDomParser не нужно искать с диска или если вам нужно искать с диска, поэтому он может по крайней мере считывать данные из локального источника данных, который поддерживает поиск.

0

По вопросам рекламы [email protected]