0

0

php获取不到图片src

WBOY

WBOY

发布时间:2023-05-07 10:28:11

|

729人浏览过

|

来源于php中文网

原创

随着网络技术的不断发展,网页中不但以文字为主要内容,也逐渐走向图片、音频、视频等多媒体元素的融合。如今,我们访问网页时,更多地借助了这些多媒体元素,它们丰富了我们的审美体验,也让页面更加生动、直观。

其中,图片是最常见的多媒体元素之一。在网页开发中,使用图片可以充实页面内容,丰富用户体验。有时候,我们需要在服务器端获取图片的src地址,以进行相关操作。在php中,获取图片的src地址有许多方法,但可能会遇到一些问题,导致获取失败。本文将详细介绍php获取不到图片src的原因和解决方案。

一、获取图片src的方法

在php中,获取图片的src地址有许多方法,这里介绍两种比较常见的方法。

  1. 使用正则表达式获取图片src

在html中,图片地址的src通常写在img标签中的src属性里。因此,我们可以使用正则表达式获取img标签中的src属性值。

立即学习PHP免费学习笔记(深入)”;

function getImgSrc($html){
    $pattern = '/php获取不到图片src/is';
    preg_match_all($pattern, $html, $matches);
    $src_array = $matches[1];
    return $src_array;
}

上面的函数中,$html是一个html页面的字符串形式。使用正则表达式,匹配出html中所有img标签的src属性值,并返回一个数组$src_array,其中存储了所有图片的src地址。

  1. 使用DOMDocument获取图片src

DOMDocument是php中使用XML和HTML文档的主要工具之一。它提供了一系列方法,可以轻松地获取HTML文档中的元素及其属性。我们可以利用DOMDocument获取img标签的src属性值。

function getImgSrc($html){
    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $xpath = new DOMXPath($dom);
    $src_array = array();
    $img_list = $xpath->query('//img');
    foreach($img_list as $img){
        $src_array[] = $img->getAttribute('src');
    }
    return $src_array;
}

上面的函数中,$html同样是一个html页面的字符串形式。使用DOMDocument,创建一个文档对象$dom,并使用loadHTML方法加载html页面。接着,使用DOMXPath获取所有img标签,再遍历每一个img标签,获取其src属性值。

WeWedding婚纱影楼小程序
WeWedding婚纱影楼小程序

婚纱影楼小程序提供了一个连接用户与影楼的平台,相当于影楼在微信的官网。它能帮助影楼展示拍摄实力,记录访客数据,宣传优惠活动。使用频率高,方便传播,是影楼在微信端宣传营销的得力助手。功能特点:样片页是影楼展示优秀摄影样片提供给用户欣赏并且吸引客户的。套系页是影楼根据市场需求推出的不同套餐,用户可以按照自己的喜好预定套系。个人中心可以查看用户预约的拍摄计划,也可以获取到影楼的联系方式。

下载

二、获取失败的原因及解决方案

在使用上述方法获取图片src时,可能会遇到获取失败的情况。以下是几种可能的原因及对应的解决方案。

  1. 传入的html不完整

getImgSrc函数中传入的$html参数应是一个完整的html文档,但有时候,我们只获取了部分页面内容,或者html文档中有一些不完整的标签,则会导致获取失败。此时,我们需要保证传入的html文档完整无误。

  1. 图片src使用了相对路径

有时候,图片的src属性使用的是相对路径,因此,我们在服务器端获取图片时,需要将其转化为绝对路径。可以使用php的dirname函数和parse_url函数,将相对路径转化为绝对路径。

function getAbsoluteUrl($base, $relative){
    $parse_base = parse_url($base);
    if(!isset($parse_base['path'])){
        $parse_base['path'] = '/';
    }
    $dir = dirname($parse_base['path']);
    if($relative[0] == '/'){
        $relative = substr($relative, 1);
    }
    if($relative[0] == '.'){
        $i = 0;
        while(substr($relative, 0, 2) == './'){
            $relative = substr($relative, 2);
        }
        $dir .= '/';
    }
    $result = $parse_base['scheme']."://".$parse_base['host'];
    if(isset($parse_base['port']) && $parse_base['port'] != '80'){
        $result .= ':'.$parse_base['port'];
    }
    $result .= $dir.$relative;
    return $result;
}

上面的函数中,$base为相对路径的基准地址,$relative为相对路径。使用dirname函数获取基准地址的目录路径$dir,然后根据相对路径的情况,拼接出完整的绝对路径。

  1. 网络原因

获取图片src也会受到网络环境的影响。如果网络不稳定或者中断,都会导致获取失败。此时可以尝试重新获取或者等待网络稳定后再次尝试获取。

综上所述,本文介绍了php获取不到图片src的原因及解决方案。在服务器端获取图片src是常见的开发需求,掌握获取方法及遇到问题时的一些解决方法,可以更好的提高开发效率并减少问题带来的影响。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号