PHP preg_filter PCRE 正则函数



  • 定义和用法

    preg_filter - 执行一个正则表达式搜索和替换
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 5.3.0+支持 支持
    7.0.0 不再支持 /e修饰符。 请用 preg_replace_callback() 代替。
    5.5.0 /e 修饰符已经被弃用了。使用 preg_replace_callback() 代替。参见文档中 PREG_REPLACE_EVAL 关于安全风险的更多信息。
    5.1.0 增加参数count.
  • 语法

    preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
    
    preg_filter()等价于preg_replace() 除了它仅仅返回(可能经过转化)与目标匹配的结果. 这个函数怎样工作的更详细信息请阅读 preg_replace()文档.
  • 参数

    参数 必需的 描述
    pattern 正则模式
    replacement 要替换为的内容
    subject 搜索的内容
    limit 每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。
    count 如果指定,将会被填充为完成的替换次数。
  • 返回值

    如果subject是一个数组, preg_replace()返回一个数组, 其他情况下返回一个字符串。 如果匹配被查找到,替换后的subject被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL 。
  • 示例

    $string = 'April 15, 2003';
    $pattern = '/(\w+) (\d+), (\d+)/i';
    $replacement = '${1}1,$3';
    echo preg_replace($pattern, $replacement, $string);
    
  • 相关函数

    preg_quote() - 转义正则表达式字符
    preg_filter() - 执行一个正则表达式搜索和替换
    preg_match() - 执行匹配正则表达式
    preg_replace_callback() - 执行一个正则表达式搜索并且使用一个回调进行替换
    preg_split() - 通过一个正则表达式分隔字符串
    preg_last_error() - 返回最后一个PCRE正则执行产生的错误代码