php replace 正则替换方法
php replace函数用于执行一个正则表达式的搜索和替换,其使用语法是“mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject…”。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php 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 替换为 runoob
<?php $string = 'google 123, 456'; $pattern = '/(w+) (d+), (d+)/i'; $replacement = 'runoob ${2},$3'; echo preg_replace($pattern, $replacement, $string); ?>
执行结果如下所示:
runoob 123,456
删除空格字符
<?php $str = 'runo o b'; $str = preg_replace('/s+/', '', $str); // 将会改变为'runoob' echo $str; ?>
执行结果如下所示:
runoob
使用基于数组索引的搜索替换
<?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); ?>
执行结果如下所示:
The bear black slow jumped over the lazy dog.
使用参数 count
<?php $count = 0; echo preg_replace(array('/d/', '/s/'), '*', 'xp 4 to', -1 , $count); echo $count; //3 ?>
执行结果如下所示:
xp***to 3
推荐学习:《PHP视频教程》