PHP preg_filter() 函数
示例
将数字括在字符串列表中
<?php
$input = [
"It is 5 o'clock",
"40 days",
"No numbers here",
"In the year 2000"
];
$result = preg_filter('/[0-9]+/', '($0)', $input);
print_r($result);
?>
自己动手试一试 »
定义和用法
preg_filter()
函数返回一个字符串或字符串数组,其中匹配到的模式已被替换为替换字符串。
如果输入是数组,则此函数返回一个数组。如果输入是字符串,则此函数返回一个字符串。
此函数与 preg_replace()
类似,但有一个区别:当输入的字符串中未找到模式匹配时,该字符串将不会包含在返回值中。在这种情况下,如果输入是字符串而非数组,则函数返回 null。
替换字符串可以包含反向引用,形式为 \n 或 $n,其中 n 是模式中某个组的索引。在返回的字符串中,\n 和 $n 的实例将被匹配该组的子字符串替换,或者,如果使用 \0 或 $0,则会被整个表达式替换。
语法
preg_filter(pattern, replacement, input, limit, count)
参数值
参数 | 描述 |
---|---|
pattern | 必需。包含一个正则表达式,指示要搜索的内容 |
replacement | 必需。一个将替换匹配模式的字符串。它可能包含反向引用 |
input | 必需。一个执行替换操作的字符串或字符串数组 |
limit | 可选。默认为 -1,表示不限制。设置在每个字符串中可以执行的替换次数 |
count | 可选。函数执行后,此变量将包含一个数字,指示执行了多少次替换 |
技术详情
返回值 | 如果输入是数组,则返回已替换字符串的数组;如果输入是字符串,则返回进行替换后的字符串;如果输入是字符串且未找到匹配项,则返回 null。 |
---|---|
PHP 版本 | 5.3.0 |
❮ PHP 正则表达式参考