PHP preg_replace() 函數
preg_replace 函數執行一個正則運算式的搜索和替換。
語法
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
搜索 subject 中匹配 pattern 的部分, 以 replacement 進行替換。
參數說明:
$pattern: 要搜索的模式,可以是字串或一個字串數組。
$replacement: 用於替換的字串或字串數組。
$subject: 要搜索替換的目標字串或字串數組。
$limit: 可選,對於每個模式用於每個 subject 字串的最大可替換次數。 默認是-1(無限制)。
$count: 可選,為替換執行的次數。
返回值
如果 subject 是一個數組, preg_replace() 返回一個數組, 其他情況下返回一個字串。
如果匹配被查找到,替換後的 subject 被返回,其他情況下 返回沒有改變的 subject。如果發生錯誤,返回 NULL。
實例
將 google 替換為 zaixian
$string = 'google 123, 456';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = 'zaixian ${2},$3';
echo preg_replace($pattern, $replacement, $string);
執行結果如下所示:
zaixian 123,456
刪除空格字元
$str = 'runo o b';
$str = preg_replace('/\s+/', '', $str);
// 將會改變為'zaixian'
echo $str;
執行結果如下所示:
zaixian
使用基於數組索引的搜索替換
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
執行結果如下所示:
The bear black slow jumped over the lazy dog.
使用參數 count
$count = 0;
echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count);
echo $count; //3
執行結果如下所示:
xp***to 3