PHP - preg_match_all() 函数


语法


int preg_match_all (string pattern, string string, array pattern_array [, int order]);

定义和用法

preg_match_all() 函数匹配字符串中出现的所有 pattern

它将按照您使用可选输入参数 order 指定的顺序将这些匹配项放置在数组 pattern_array 中。有两种可能的订单类型 -

  • 如果不包含可选的 order 参数,则 PREG_PATTERN_ORDER :默认值。PREG_PATTERN_ORDER 以您可能认为最合乎逻辑的方式指定顺序。$pattern_array[0] 是所有完整模式匹配的数组,$pattern_array[1] 是匹配第一个括号内正则的所有字符串的数组,依此类推。
  • PREG_SET_ORDER :将对数组进行排序,这与默认设置略有不同。$pattern_array[0] 将包含与第一个带括号的正则匹配的元素,$pattern_array[1] 将包含与第二个带括号的正则匹配的元素,依此类推。

返回值

返回匹配项的数量。

示例

测试下面代码,并验证结果。


<?php
   $userinfo = "Name: <b>li mei</b> <br> Title: <b>PHP qikepu</b>";
   preg_match_all ("/<b>(.*)<\/b>/U", $userinfo, $pat_array);
   
   print $pat_array[0][0]." <br> ".$pat_array[0][1]."\n";
?>

这将产生以下结果 -

li mei
PHP qikepu