目录

PHP preg_filter() 函数

❮ PHP 正则表达式参考

示例

将数字括在字符串列表中的括号中:

<?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()有一个区别:当在输入字符串中找不到模式的匹配项时,该字符串将不会在返回值中使用。在这种情况下,如果输入是字符串而不是数组,则函数返回无效的

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


语法

preg_filter( pattern, replacement, input, limit, count)

参数值

Parameter Description
pattern Required. Contains a regular expression indicating what to search for
replacement Required. A string which will replace the matched patterns. It may contain backreferences
input Required. A string or array of strings in which the replacements are being performed
limit Optional. Defaults to -1, meaning unlimited. Sets a limit to how many replacements can be done in each string
count Optional. After the function has executed, this variable will contain a number indicating how many replacements were performed

技术细节

返回值: 如果输入是数组,则返回替换字符串的数组;如果输入是字符串,则返回已替换的字符串;如果输入是字符串且未找到匹配项,则返回 null
PHP 版本: 5.3.0

❮ PHP 正则表达式参考