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


Posted in PHP onFebruary 27, 2012

preg_filter
(PHP 5 >= 5.3.0)

preg_filter — 执行一个正则表达式搜索和替换
mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
preg_filter()等价于preg_replace() 除了它仅仅返回(可能经过转化)与目标匹配的结果. 这个函数怎样工作的更详细信息请阅读 preg_replace()文档.

返回值
如果subject是一个数组, 返回一个数组, 其他情况返回一个字符串.

如果没有找到匹配或者发生了错误, 当subject是数组 时返回一个空数组, 其他情况返回NULL.

范例

Example #1 比较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 returns\n"; 
print_r(preg_filter($pattern, $replace, $subject)); 
echo "preg_replace returns\n"; 
print_r(preg_replace($pattern, $replace, $subject)); 
?>

以上例程会输出:
preg_filter returns 
Array 
( 
[0] => A:C:1 
[1] => B:C:a 
[2] => A:2 
[3] => B:b 
[4] => A:3 
[7] => A:4 
) 
preg_replace returns 
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 
)

  • PCRE Patterns
  • preg_replace() - 执行一个正则表达式的搜索和替换
  • preg_replace_callback() - 执行一个正则表达式搜索并且使用一个回调进行替换
  • preg_grep() - 返回匹配模式的数组条目
  • preg_last_error() - 返回最后一个PCRE正则执行产生的错误代码
PHP 相关文章推荐
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
php数据库连接时容易出错的特殊符号问题
Sep 01 PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
laravel手动创建数组分页的实现代码
Jun 07 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 PHP
关于laravel框架中的常用目录路径函数
Oct 23 PHP
PHP实现文件上传与下载
Aug 28 PHP
mysql总结之explain
Feb 27 #PHP
php&amp;mysql 日期操作小记
Feb 27 #PHP
MySQL时间字段究竟使用INT还是DateTime的说明
Feb 27 #PHP
php explode函数实例代码
Feb 27 #PHP
PHP中获取文件扩展名的N种方法小结
Feb 27 #PHP
PHP中的正则表达式函数介绍
Feb 27 #PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 #PHP
You might like
模板引擎Smarty深入浅出介绍
2006/12/06 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
bootstrap table使用入门基本用法
2017/05/24 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
Python最基本的输入输出详解
2015/04/25 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python实现分页效果
2017/10/25 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
python开启debug模式的方法
2019/06/27 Python
Python @property使用方法解析
2019/09/17 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
课例研修方案
2014/05/31 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
2015年维修工作总结
2015/04/25 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏