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替换为51digit - <?php
- $string = 'google 123, 456';
- $pattern = '/(\w+) (\d+), (\d+)/i';
- $replacement = '51digit ${2},$3';
- echo preg_replace($pattern, $replacement, $string);
- ?>
复制代码执行结果如下所示: 删除空格字符: - <?php
- $str = 'runo o b';
- $str = preg_replace('/\s+/', '', $str);
- // 将会改变为'runoob'
- echo $str;
- ?>
复制代码执行结果如下所示: 使用基于数组索引的搜索替换: - <?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
- ?>
复制代码执行结果如下所示:
|