php中使用preg_match_all匹配文章中的图片

 更新时间:2013年02月06日 16:39:01   作者:  
有时候我们需要使用php获取网页中的图片并保存下来,这里我们可以使用preg_match_all用来匹配图片地址,需要的朋友可以参考下

preg_match_all 函数:

int preg_match_all ( string pattern, string subject, array matches [, int flags] )执行一个全局正则表达式匹配
在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。    
搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。  
flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义): 
PREG_PATTERN_ORDER  对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推!

例子:

复制代码 代码如下:

<?php
$con = file_get_contents("https://www.jb51.net/news/jb-1.html");
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
preg_match_all($pattern,$con,$match);
print_r($match);
?>

结果:

复制代码 代码如下:

Array
(
    [0] => Array
        (
            [0] => <img src="https://www.jb51.net/usr/themes/dddefault/images/logo.png" alt="脚本学堂" />
            [1] => <img style="display: block; margin-left: auto; margin-right: auto;" title="脚本学堂上线了" src="https://www.jb51.net/usr/uploads/2012/09/531656480.jpg" alt="脚本学堂上线了2" />
            [2] => <img style="display: block; margin-left: auto; margin-right: auto;" src="https://www.jb51.net/usr/uploads/2012/09/2647136297.jpg" alt="875EA1C00E50B4542797E24FA6E7E1F2.jpg" />
        )
    [1] => Array
        (
            [0] => https://www.jb51.net/usr/themes/dddefault/images/logo.png
            [1] => https://www.jb51.net/usr/uploads/2012/09/531656480.jpg
            [2] => https://www.jb51.net/usr/uploads/2012/09/2647136297.jpg
        )
)

相关文章

  • php基于redis的分布式锁实例详解

    php基于redis的分布式锁实例详解

    这篇文章主要介绍了php基于redis的分布式锁实例详解,有正好需要的可以跟着小编一起来学习下,可以让在写代码上的能力更近一步
    2021-03-03
  • php版微信公众账号第三方管理工具开发简明教程

    php版微信公众账号第三方管理工具开发简明教程

    这篇文章主要介绍了php版微信公众账号第三方管理工具开发方法,结合实例形式分析了php基于curl参数传递实现第三方管理功能的相关操作技巧与注意事项,需要的朋友可以参考下
    2016-09-09
  • thinkPHP5.0框架配置格式、加载解析与读取方法

    thinkPHP5.0框架配置格式、加载解析与读取方法

    这篇文章主要介绍了thinkPHP5.0框架配置格式、加载解析与读取方法,结合实例形式详细分析了thinkPHP5.0框架配置的常用格式,加载解析方法,读取方法等相关操作技巧,需要的朋友可以参考下
    2017-03-03
  • 微信公众号开发客服接口实例代码

    微信公众号开发客服接口实例代码

    这篇文章主要介绍了微信公众号开发客服接口的相关资料,并附简单实例,需要的朋友可以参考下
    2016-10-10
  • 又拍云异步上传实例教程详解

    又拍云异步上传实例教程详解

    这篇文章主要介绍了又拍云异步上传实例教程详解的相关资料,需要的朋友可以参考下
    2016-04-04
  • Yii框架应用组件用法实例分析

    Yii框架应用组件用法实例分析

    这篇文章主要介绍了Yii框架应用组件用法,结合实例形式分析了Yii应用组件基本功能、定义、使用方法及操作注意事项,需要的朋友可以参考下
    2020-05-05
  • PHP定时执行任务实现方法详解(Timer)

    PHP定时执行任务实现方法详解(Timer)

    这篇文章主要介绍了PHP定时执行任务实现方法详解,定时任务在web应用程序中比较常见,实现定时任务主要有两种方案:1)使用Crontab命令,2)配合使用ignore_user_abort()和set_time_limit(),有需要的朋友可以来借鉴下。
    2015-07-07
  • PHP sdk文档处理常用代码示例解析

    PHP sdk文档处理常用代码示例解析

    这篇文章主要介绍了PHP sdk文档处理常用代码示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • PHP接入支付宝接口失效流程详解

    PHP接入支付宝接口失效流程详解

    这篇文章主要介绍了PHP接入支付宝接口失效流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • thinkphp5框架路由原理与用法详解

    thinkphp5框架路由原理与用法详解

    这篇文章主要介绍了thinkphp5框架路由原理与用法,结合图文与实例形式详细分析了thinkPHP5框架路由的相关原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-02-02

最新评论