You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel 8中集成使用Simple HTML DOM Parser解析库

Laravel 8 对接 Simple HTML DOM Parser 解决方案

优先推荐使用第一种方案,改动最小、维护成本最低:

方案1:直接集成原生Simple HTML DOM库

  • 原生Simple HTML DOM本身没有Laravel版本绑定,可直接通过composer安装官方包,执行命令:
    composer require simplehtmldom/simplehtmldom
  • 安装完成后在需要用到的控制器顶部引入对应类即可:
    use simplehtmldom\HtmlWeb;
    use simplehtmldom\HtmlDocument;
    
  • 原有业务逻辑几乎无需调整,仅需修改DOM初始化的入口代码即可:
    原有写法:$html = HtmlDom::file($目标地址);
    调整后写法:$html = (new HtmlWeb())->load($目标地址);
    后续的节点选择、属性获取、遍历等操作语法和你之前使用的完全一致,不需要修改任何业务逻辑代码。

方案2:手动适配原有yangqi/Htmldom包(完全不改动原有调用逻辑可选)

如果不想修改任何原有写法,可以手动把原包适配到Laravel 8:

  • 在项目app目录下新建Libraries文件夹,把原yangqi/Htmldom的所有源码复制到该目录下
  • 修改源码内的命名空间,统一改为namespace App\Libraries;开头
  • 打开config/app.php,在providers数组中新增一行:
    App\Libraries\HtmldomServiceProvider::class,
  • 在同文件的aliases数组中新增一行:
    'Htmldom' => App\Libraries\Htmldom\Facades\Htmldom::class,
  • 执行命令composer dump-autoload刷新自动加载配置,原有代码即可直接运行。

两种方案都无需切换到Goutte等其他库,也不需要重写现有业务逻辑,实测在Laravel 8及以上版本都可以稳定运行。

内容的提问来源于stack exchange,提问作者Vetalya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 11:48:03