preg_filter函數用來執行一個正規表示式搜尋和取代。
mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
preg_filter() 等價於preg_replace() ,但它只是傳回與目標相符的結果。
參數說明:
$pattern:要搜尋的模式。可以是一個字串或字串數組。
$replacement:用於替換的字串或字串陣列。
$subject:要進行搜尋和取代的字串或字串陣列。
$limit:可選,每個模式在每個subject上進行替換的最大次數。預設是-1(無限)。
$count:可選,完成的替換次數。
執行結果如下圖所示:
preg_filter 傳回值:Array( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4)preg_replace 傳回值:Array( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B: b [4] => A:3 [5] => A [6] => B [7] => A:4)
可以看出preg_filter 只回傳符合結果,不符合的直接忽略,而preg_replace 將不符合的結果'A' 'B' 元素也一起回傳。