PHP preg_filter() 函数

返回上一级

PHP preg_filter() 函数用于执行一个正则表达式搜索和替换

函数原型

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

preg_filter() 等价于 preg_replace() ,但它仅仅返回与目标匹配的结果

参数

参数 说明
$pattern 要搜索的模式。可以是一个字符串或字符串数组
$replacement 用于替换的字符串或字符串数组
$subject 要进行搜索和替换的字符串或字符串数组
$limit 可选,每个模式在每个 subject 上进行替换的最大次数
默认是 -1(无限)
$count 可选,完成的替换次数

范例

下面的代码用于比较 preg_filter() 和 preg_replace()

<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); 
$pattern = array('/\d/', '/[a-z]/', '/[1a]/'); 
$replace = array('A:$0', 'B:$0', 'C:$0'); 

echo "preg_filter 返回值:\n";
print_r(preg_filter($pattern, $replace, $subject)); 

echo "preg_replace 返回值:\n";
print_r(preg_replace($pattern, $replace, $subject)); 

运行以上 PHP 范例,输出结果如下

preg_filter 返回值:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace 返回值:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

可以看出:

  • preg_filter 只返回匹配结果,不匹配的直接忽略
  • preg_replace 将不匹配的结果 'A' 'B' 元素也一起返回

返回上一级

PHP 5 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.