preg_match_all() 函数用于进行正则表达式全局匹配,成功返回整个模式匹配的次数(可能为零),如果出错返回 FALSE 。
int preg_match_all( string pattern, string subject, array matches [, int flags ] )
| pattern | 正则表达式 |
| subject | 需要匹配检索的对象 |
| matches | 存储匹配结果的数组 |
| flags |
可选,指定匹配结果放入 matches 中的顺序,可供选择的标记有:
|
$str = '2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,'; preg_match_all('/\d{4}-\d+\-\d+(.*?),/is', $str, $matched); echo "<pre>"; print_r($matched); echo "</pre>"; exit;
参数为 默认
$matched =
Array
(
[0] => Array
(
[0] => 2015-9-15 XXXXXXXX,
[1] => 2015-9-15 XXXXXXXX,
[2] => 2015-9-15 XXXXXXXX,
[3] => 2015-9-15 XXXXXXXX,
)
[1] => Array
(
[0] => XXXXXXXX
[1] => XXXXXXXX
[2] => XXXXXXXX
[3] => XXXXXXXX
)
)
数组$matched[0] 表示 全匹配的数组。表示: \d{4}-\d+\-\d+(.*?), 所匹配的信息,包括 非括号中的信息
$matched[1] 表示第一个括号中的数组信息。如果有第二个括号,会有$matched[2] 匹配括号2中的信息
$str = '2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,2015-9-15 XXXXXXXX,'; preg_match_all('/\d{4}-\d+\-\d+(.*?),/is', $str, $matched,PREG_SET_ORDER); echo "<pre>"; print_r($matched); //print_r($matched[1]); echo "</pre>"; exit;
Array
(
[0] => Array
(
[0] => 2015-9-15 XXXXXXXX,
[1] => XXXXXXXX
)
[1] => Array
(
[0] => 2015-9-15 XXXXXXXX,
[1] => XXXXXXXX
)
[2] => Array
(
[0] => 2015-9-15 XXXXXXXX,
[1] => XXXXXXXX
)
[3] => Array
(
[0] => 2015-9-15 XXXXXXXX,
[1] => XXXXXXXX
)
)
本文详细介绍了PHP中preg_match_all()函数的使用方法,包括如何进行正则表达式的全局匹配,解析不同标志如PREG_PATTERN_ORDER和PREG_SET_ORDER的作用,并通过示例展示了如何获取匹配结果。
455

被折叠的 条评论
为什么被折叠?



