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
廣告