首页 > 解决方案 > 尝试在种子文件中将“simple_html_dom.php”连接到 laravel 项目。我遇到了错误“preg_match():编译失败”

问题描述

尝试加载/连接“simple_html_dom.php”(保存在公共文件夹中)以在 Laravel-8 项目中进行解析。所以我创建了播种器 - FilmSeeder 被自动解析,我收到了这个错误:

preg_match():编译失败:偏移量 4 处的字符类范围无效

我的代码是:

FilmSeeder.php

使用 Sunra\PhpSimple\HtmlDomParser;

公共功能运行(){

$html = \App\Http\Controllers\FilmController::curl_get('https://movies.com');

    $dom = HtmlDomParser::str_get_html($html);
    $movies = $dom->find('#posts');

    foreach ($movies as $movie) {
        foreach ($movie->find('a') as $element) {
            echo $element->href . '<br>';
            echo $element->plaintext . '<br>';

            $name = $element->plaintext;
            $one = \App\Http\Controllers\FilmController::curl_get($element->href);
            $one_dom = str_get_html($one);

            $path = $one_dom->find('.ifram', 0);
            $link = $path->src;

            
            DB::table('films')->insert([
                "name" => $name,
                "link" => $link
            ]);
        }
    }
}

            

我究竟做错了什么?

标签: laravel-8

解决方案


推荐阅读