PHP preg_replace() 函数
PHP 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 替换为 twle
<?php $string = 'google 123, 456'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = 'twle ${2},$3'; echo preg_replace($pattern, $replacement, $string);
运行以上 PHP 范例,输出结果如下
twle 123,456
范例 2
删除空格字符
<?php $str = 'tw l e'; $str = preg_replace('/\s+/', '', $str); // 将会改变为'twle' echo $str;
运行以上 PHP 范例,输出结果如下
twle
范例 3
使用基于数组索引的搜索替换
<?php $string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array('/quick/','/brown/','/fox/'); $replacements = array('bear','black','slow'); echo preg_replace($patterns, $replacements, $string);
运行以上 PHP 范例,输出结果如下
The bear black slow jumped over the lazy dog.
范例 4
使用参数 count
<?php $count = 0; echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count); echo $count; //3
运行以上 PHP 范例,输出结果如下
xp***to 3