preg_replace_callback 函數執行一個正規表示式搜尋並且使用一個回呼進行替換。
mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )
這個函數的行為除了可以指定一個callback 替代replacement 進行替換字串的計算,其他方面等同於preg_replace()。
參數說明:
$pattern: 要搜尋的模式,可以使字串或一個字串陣列。
$callback: 一個回調函數,在每次需要替換時調用,調用時函數得到的參數是從subject 中匹配到的結果。
$subject: 要搜尋已取代的目標字串或字串陣列。
$limit: 可選,對於每個模式用於每個subject 字串的最大可替換次數。 預設是-1(無限制)。
$count: 可選,為替換執行的次數。
如果subject是一個數組,則是 preg_replace_callback()回傳一個數組,其他情況會傳回字串。 錯誤發生時傳回NULL。
如果查找到了匹配,返回替換後的目標字串(或字串數組), 其他情況subject 將會無變化返回。
執行結果如下圖所示:
April fools day is 04/01/2003Last christmas was 12/24/2002