PHP preg_filter() 函数

PHP 教程 · 2019-01-31 11:43:58

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)); ?>

执行结果如下所示:

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 教程 文章: https://codercto.com/courses/l/5.html

查看所有标签

沸腾十五年

沸腾十五年

林军 / 中信出版社 / 2009-7 / 59.00

覆雨翻云的中国网事; 荡气回肠的产业传奇;虚拟世界的真实讲述;万象网络的还原走笔。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本书记录了一群在中国创造属于自己历史的人和他们的故事,他们是中国互联网自1995年兴起的波澜壮阔中的弄潮儿和财富新贵的代表:马化腾、丁磊、张朝阳、马云、陈天桥、李彦宏、史玉柱、田溯宁、张树新、王志东、王峻涛、雷军、......一起来看看 《沸腾十五年》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具