PHP教程:用preg_match_all匹配文章中的图片

2013-01-07 11:36 阅读 843 次 评论 1 条

首先介绍下这个函数:

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实例:

 

  1. <?php
  2. $con = file_get_contents("http://www.xuliewei.cn/news/1.html");
  3. $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
  4. preg_match_all($pattern,$con,$match);
  5. print_r($match);
  6. ?>

 

执行结果为:

Array

(

[0] => Array

(

[0] => <img src="http://www.xuliewei.cn/usr/themes/dddefault/images/logo.png" alt="PHP" />

[1] => <img style="display: block; margin-left: auto; margin-right: auto;" title="林丹结婚现场1" src="http://www.xuliewei.cn/usr/uploads/2012/09/551656482.jpg" alt="林丹结婚现场2" />

[2] => <img style="display: block; margin-left: auto; margin-right: auto;" src="http://www.xuliewei.cn/usr/uploads/2012/09/3647136293.jpg" alt="875EA1C00E50B4542797E24FA6E7E1F2.jpg" />

)

[1] => Array

(

[0] => http://www.xuliewei.cn/usr/themes/dddefault/images/logo.png

[1] => http://www.xuliewei.cn/usr/uploads/2012/09/551656482.jpg

[2] => http://www.xuliewei.cn/usr/uploads/2012/09/3647136293.jpg

)

)

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:PHP教程:用preg_match_all匹配文章中的图片 | 猎微网
分类:PHP 标签:,
  1. tom
    tom 【农民】

    :mad: 好高深,

评论已关闭!