首先介绍下这个函数:
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
执行一个全局正则表达式匹配
在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定
的顺序放到 matches
中。
搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。
flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDE
R
合起来用没有意义):
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" />