background image

       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_ORDE

 

合起来用没有意义):  

PREG_PATTERN_ORDER  对结果排序使 $matches[0] 为全部模式匹配的数组,
$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推!

来看看下面的 php 实例:

1.

<?

php

2.

$con 

=

 file_get_contents

(

"http://www.phpddt.com/news/lindan-

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.phpddt.com/usr/themes/dddefault/images/logo.png" 
alt="PHP 点点通" />

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