PHP preg_replace() 函数
示例
使用不区分大小写的正则表达式将字符串中的 Microsoft 替换为 W3Schools
<?php
$str = 'Visit Microsoft!';
$pattern = '/microsoft/i';
echo preg_replace($pattern, 'W3Schools', $str);
?>
自己尝试 »
定义和用法
该 preg_replace()
函数返回一个字符串或字符串数组,其中输入中找到的所有模式或模式列表的匹配项都被替换为子字符串。
此函数有三种不同的使用方式
1. 一个模式和一个替换字符串。模式的匹配项将被替换字符串替换。
2. 一个模式数组和一个替换字符串。匹配任何模式的项都将被替换字符串替换。
3. 一个模式数组和一个替换字符串数组。每个模式的匹配项将被替换字符串数组中相同位置的替换字符串替换。如果在该位置找不到任何项,则匹配项将被空字符串替换。
替换字符串可能包含形式为 \n 或 $n 的反向引用,其中 n 是模式中组的索引。在返回的字符串中,\n 和 $n 的实例将被组匹配的子字符串替换,或者,如果使用 \0 或 $0,则被整个表达式替换。
注意:对于每个输入字符串,函数会按给定的顺序评估模式。对字符串评估第一个模式的结果将用作第二个模式的输入字符串,以此类推。这可能会导致意外行为。
语法
preg_replace(patterns, replacements, input, limit, count)
参数值
参数 | 描述 |
---|---|
patterns | 必需。包含正则表达式或正则表达式数组 |
replacements | 必需。替换字符串或替换字符串数组 |
input | 必需。要执行替换操作的字符串或字符串数组 |
limit | 可选。默认为 -1,表示无限制。设置每个字符串可以执行的替换次数的限制 |
count | 可选。函数执行后,此变量将包含一个数字,表示执行了多少次替换 |
技术细节
返回值 | 返回一个字符串或字符串数组,该字符串或字符串数组是将替换应用于输入字符串或字符串的结果 |
---|---|
PHP 版本 | 4.0.5+ |
变更日志 | PHP 5.1.0 - 添加了 count 参数 |
❮ PHP RegExp 参考