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结合Jquery和ajax实现瀑布流特效

    PHP结合Jquery和ajax实现瀑布流特效

    php+ajax+jquery实现无限瀑布流布局 宽度是一定的高度不定的瀑布流布局 也可以说是无缝拼图 当浏览器滚动到底部时候自动加载图片,非常的实用,需要的小伙伴可以参考下。
    2016-01-01
  • php将gd生成的图片缓存到memcache的小例子

    php将gd生成的图片缓存到memcache的小例子

    php将gd生成的图片缓存到memcache的小例子,需要的朋友可以参考一下
    2013-06-06
  • 完善CodeIgniter在IDE中代码提示功能的方法

    完善CodeIgniter在IDE中代码提示功能的方法

    这篇文章主要介绍了完善CodeIgniter在IDE中代码提示功能的方法,需要的朋友可以参考下
    2014-07-07
  • php实现批量下载百度云盘文件例子分享

    php实现批量下载百度云盘文件例子分享

    本文使用百度开放云的PHP SDK实现批量下载百度云盘的文件,需要的朋友可以参考下。
    2014-04-04
  • 浅析php创建者模式

    浅析php创建者模式

    本文通过实例向我们展示了php设计模式中的创建者模式,及创建者模式所应用的场景,这里推荐给大家。
    2014-11-11
  • Laravel框架处理用户的请求操作详解

    Laravel框架处理用户的请求操作详解

    这篇文章主要介绍了Laravel框架处理用户的请求操作,结合实例形式分析了laravel框架请求、响应以及中间件、路由等相关概念与操作技巧,需要的朋友可以参考下
    2019-12-12
  • 利用php的ob缓存机制实现页面静态化方法

    利用php的ob缓存机制实现页面静态化方法

    下面小编就为大家带来一篇利用php的ob缓存机制实现页面静态化方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 关于ThinkPHP中的异常处理详解

    关于ThinkPHP中的异常处理详解

    和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面,下面这篇文章主要给大家介绍了关于ThinkPHP中异常处理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-05-05
  • ThinkPHP框架整合微信支付之JSAPI模式图文详解

    ThinkPHP框架整合微信支付之JSAPI模式图文详解

    这篇文章主要介绍了ThinkPHP框架整合微信支付之JSAPI模式,结合图文形式详细分析了thinkPHP框架整合JSAPI模式支付操作的具体流程、步骤及相关操作注意事项,需要的朋友可以参考下
    2019-04-04
  • 30个php操作redis常用方法代码例子

    30个php操作redis常用方法代码例子

    这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型、list类型和set类型的数据,需要的朋友可以参考下
    2014-07-07

最新评论