PHP - preg_match_all() 函数



语法

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

定义和用法

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

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

  • 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
广告