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
        )
)

相关文章

  • thinkphp模板的包含与渲染实例分析

    thinkphp模板的包含与渲染实例分析

    这篇文章主要介绍了thinkphp模板的包含与渲染,实例分析了模板包含与渲染的用法与相关技巧,是比较实用的技巧,需要的朋友可以参考下
    2014-11-11
  • uni-app结合PHP实现单用户登陆demo及解析

    uni-app结合PHP实现单用户登陆demo及解析

    这篇文章主要为大家介绍了uni-app结合PHP实现单用户登陆示例过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • PHP设计模式之观察者模式实例

    PHP设计模式之观察者模式实例

    一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。通过本文给大家介绍PHP设计模式之观察者模式,需要的朋友参考下
    2016-02-02
  • php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息

    php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息

    这篇文章主要给大家介绍了关于php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • PHPCMS忘记后台密码的解决办法

    PHPCMS忘记后台密码的解决办法

    PHPCMS是一款网站管理软件,PHPCMS后台密码忘记解决办法,本文主要是从技术角度去解决的,请细看正文
    2016-10-10
  • php函数指定默认值方法的小例子

    php函数指定默认值方法的小例子

    本文介绍下,在php编程中,指定函数的默认值的方法,分享二个例子,供大家学习参考下
    2013-12-12
  • PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)

    PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)

    你可能会遇到这样的问题,在用户上传了一张图片后,得到这张图片的缩略图,PHP可以使用GD库生成缩略图,那么我们来探讨下,如何才能生成高质量的缩略图呢?
    2014-06-06
  • laravel 修改.htaccess文件 重定向public的解决方法

    laravel 修改.htaccess文件 重定向public的解决方法

    今天小编就为大家分享一篇laravel 修改.htaccess文件 重定向public的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP常用正则表达式集锦

    PHP常用正则表达式集锦

    平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:
    2014-08-08
  • 老生常谈php中传统验证与thinkphp框架(必看篇)

    老生常谈php中传统验证与thinkphp框架(必看篇)

    下面小编就为大家带来一篇老生常谈php中传统验证与thinkphp框架(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论