PHP preg_replace() 函数

定义和用法

preg_replace() 函数返回一个字符串或字符串数组,其中输入中找到的模式或模式列表的所有匹配项都被替换为子字符串。

这个函数有三种不同的使用方式:

  • 一个模式和一个替换字符串。模式的匹配项将被替换字符串替换。
  • 一个模式数组和一个替换字符串。匹配数组中的任何一个模式都将被替换字符串替换。
  • 一个模式数组和一个替换字符串数组。每个模式的匹配项都将被替换字符串数组中相同位置的字符串替换。如果在替换数组中的那个位置没有找到项,则匹配项将被替换为空字符串。

替换字符串可以包含以 \n 或 n 形式出现的后向引用,其中n是模式中的组的索引。在返回的字符串中,\n 和 n 的实例将被该组匹配的子字符串替换,或者,如果使用了 \0 或 $0,则将被整个表达式替换。

注意:对于每个输入字符串,函数按照给定的顺序评估模式。在字符串上评估第一个模式的结果将用作第二个模式的输入字符串,依此类推。这可能会导致意外的行为。

实例

使用不区分大小写的正则表达式,在字符串中将 "Microsoft" 替换为 "W3School":

<?php
$str = 'Visit Microsoft!';
$pattern = '/microsoft/i';
echo preg_replace($pattern, 'W3School', $str);
?>

亲自试一试

语法

preg_replace(patterns, replacements, input, limit, count)
参数 描述
patterns 必需。包含正则表达式或正则表达式数组。
replacements 必需。替换字符串或替换字符串数组。
input 必需。在其上进行替换的字符串或字符串数组。
limit

可选。默认为 -1,表示无限制。

设置在每个字符串中可以进行的替换次数的限制。

count 可选。函数执行后,该变量将包含一个数字,指示执行了多少次替换。

技术细节

返回值: 返回字符串或字符串数组,这是将替换应用于输入字符串或字符串数组的结果。
PHP 版本: 4.0.5+
PHP 更新日志: PHP 5.1.0 - 添加了 count 参数。