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

使用PHP Simple HTML Dom提取列表所有图片遇阻求助

解决PHP Simple HTML Dom提取所有轮播图片的问题

你已经成功拿到第一张图片了,要获取所有<ul class="slides">下的图片其实很简单——只需要去掉find方法里的索引参数,然后遍历所有匹配到的元素就行。

原因分析

你当前的代码里find('ul.slides li img',0)的第二个参数0是指定只返回第一个匹配的元素,所以只能拿到第一张图。如果省略这个参数,find会返回所有符合选择器的元素组成的数组,我们只需要循环这个数组就能提取所有图片的src了。

完整解决方案代码

// 获取ul.slides下所有li中的img元素
$all_images = $d1->find('ul.slides li img');

// 先检查是否找到图片元素
if (!empty($all_images)) {
    $slides_images = [];
    // 遍历每个图片元素,提取src属性
    foreach ($all_images as $img) {
        $clean_src = trim($img->src);
        // 如果需要把相对路径转成绝对路径,可以在这里拼接域名
        // $clean_src = 'https://www.webpage.com' . $clean_src;
        $slides_images[] = $clean_src;
    }

    // 输出结果,或者按需使用这个数组
    print_r($slides_images);
} else {
    echo "未找到任何轮播图片";
}

额外提示

  • 确保你的选择器ul.slides li img和页面的HTML结构完全匹配,比如有没有嵌套层级问题,或者class名拼写错误;
  • 如果图片的src是相对路径,你可以根据页面域名手动拼接成绝对URL,代码里我加了注释示例;
  • 遍历过程中可以加额外的判断,比如检查$img->src是否为空,避免无效值存入数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:23:22