PHP - 函数 preg_match_all()


句法

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

定义和用法

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

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

  • PREG_PATTERN_ORDER - 如果不包含可选的 order 参数,则为默认值。PREG_PATTERN_ORDER 以您可能认为最合乎逻辑的方式指定顺序;$pattern_array[0] 是所有完整模式匹配的数组,$pattern_array[1] 是与第一个括号正则表达式匹配的所有字符串的数组,依此类推。

  • PREG_SET_ORDER - 数组的排序方式与默认设置略有不同。$pattern_array[0] 将包含与第一个带括号的正则表达式匹配的元素,$pattern_array[1] 将包含与第二个带括号的正则表达式匹配的元素,依此类推。

返回值

  • 返回匹配的数量。

例子

以下是一段代码,将此代码复制并粘贴到文件中并验证结果。

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

这将产生以下结果 -

John Poul 
PHP Guru
php_regular_expression.htm