PHP preg_filter() 函数
定义和用法
preg_filter()
函数返回一个字符串或字符串数组,其中模式的匹配项已被替换字符串替换。
如果输入是数组,则该函数返回一个数组。如果输入是字符串,则此函数返回一个字符串。
此函数与 preg_replace()
类似,但有一个区别:当在输入字符串中找不到与模式匹配的内容时,该字符串将不会用于返回值。在这种情况下,如果输入是字符串而不是数组,则函数返回 null。
替换字符串可以包含以 \n
或 n
形式的后向引用,其中 n
是模式中组的索引。在返回的字符串中,\n
和 n
的实例将被与该组匹配的子字符串替换,或者如果使用了 \0
或 $0
,则将被整个表达式替换。
实例
在字符串列表中将数字用括号括起来:
<?php
$input = [
"现在是 5 点钟",
"40 天",
"这里没有数字",
"在 2000 年"
];
$result = preg_filter('/[0-9]+/', '($0)', $input);
print_r($result);
?>
语法
preg_filter(pattern, replacement, input, limit, count)
参数值
参数 | 描述 |
---|---|
pattern | 必需。包含指示要搜索的内容的正则表达式。 |
replacement | 必需。将替换匹配模式的字符串。它可能包含反向引用。 |
input | 必需。要在其中执行替换的字符串或字符串数组。 |
limit |
可选。设置在每个字符串中可以进行的替换次数的限制。 默认为 -1,表示无限制。 |
count | 可选。函数执行后,此变量将包含一个数字,指示已执行的替换次数。 |
技术细节
返回值: |
如果输入是数组,则返回已替换的字符串数组。 如果输入是字符串,则返回已进行替换的字符串。 如果输入是字符串且未找到匹配项,则返回 null。 |
---|---|
PHP 版本: | 5.3.0 |