preg_replace 函數執(zhí)行一個正則表達式的搜索和替換。
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
搜索 subject 中匹配 pattern 的部分, 以 replacement 進行替換。
參數說明:
$pattern: 要搜索的模式,可以是字符串或一個字符串數組。
$replacement: 用于替換的字符串或字符串數組。
$subject: 要搜索替換的目標字符串或字符串數組。
$limit: 可選,對于每個模式用于每個 subject 字符串的最大可替換次數。 默認是-1(無限制)。
$count: 可選,為替換執(zhí)行的次數。
如果 subject 是一個數組, preg_replace() 返回一個數組, 其他情況下返回一個字符串。
如果匹配被查找到,替換后的 subject 被返回,其他情況下 返回沒有改變的 subject。如果發(fā)生錯誤,返回 NULL。
<?php $string = 'google 123, 456'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = 'nhooo ${2},$3'; echo preg_replace($pattern, $replacement, $string); ?>
執(zhí)行結果如下所示:
nhooo 123,456
<?php $str = 'nho o o'; $str = preg_replace('/\s+/', '', $str); // 將會改變?yōu)?nhooo' echo $str; ?>
執(zhí)行結果如下所示:
nhooo
<?php $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); ?>
執(zhí)行結果如下所示:
The bear black slow jumped over the lazy dog.
<?php $count = 0; echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count); echo $count; //3 ?>
執(zhí)行結果如下所示:
xp***to 3