当前位置: 首页> 函数类别大全> preg_filter

preg_filter

执行正则表达式搜索和替换
名称:preg_filter
分类:正则处理PCRE
所属语言:php
一句话介绍:返回已替换模式匹配项的字符串或数组,但前提是找到匹配项。

定义和用法

preg_filter() 函数返回一个字符串或字符串数组,其中模式的匹配项已被替换字符串替换。

如果输入是数组,则该函数返回一个数组。如果输入是字符串,则此函数返回一个字符串。

此函数与 preg_replace() 类似,但有一个区别:当在输入字符串中找不到与模式匹配的内容时,该字符串将不会用于返回值。在这种情况下,如果输入是字符串而不是数组,则函数返回 null。

替换字符串可以包含以 \nn 形式的后向引用,其中 n 是模式中组的索引。在返回的字符串中,\nn 的实例将被与该组匹配的子字符串替换,或者如果使用了 \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 可选。函数执行后,此变量将包含一个数字,指示已执行的替换次数。
同类函数
  • 通过一个正则表达式分隔字符串 preg_split

    preg_split

    通过一个正则表达式分隔字符串
  • 执行正则表达式匹配 preg_match

    preg_match

    执行正则表达式匹配
  • 执行一个正则表达式的搜索和替换 preg_replace

    preg_replace

    执行一个正则表达式的搜索和替换
  • 执行正则表达式搜索和替换 preg_filter

    preg_filter

    执行正则表达式搜索和替换
  • 执行一个正则表达式搜索并且使用一个回调进行替换 preg_replace_callback

    preg_replace_callback

    执行一个正则表达式搜索并且使用一个回调进
  • 执行正则表达式搜索并使用回调替换 preg_replace_callback_array

    preg_replace_callback_array

    执行正则表达式搜索并使用回调替换
  • 转义正则表达式字符 preg_quote

    preg_quote

    转义正则表达式字符
  • 返回匹配模式的数组条目 preg_grep

    preg_grep

    返回匹配模式的数组条目
热门文章