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连接mssql的一些相关经验及注意事项
Feb 05 PHP
php使用codebase生成随机数
Mar 25 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
PHP连接MSSQL方法汇总
Feb 05 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
Mar 07 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
详解PHP PDO简单教程
May 28 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
PHP多个版本的分析解释
2011/07/21 PHP
PHP读书笔记整理_结构语句详解
2016/07/01 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
基于Python实现一个简单的银行转账操作
2016/03/06 Python
Python selenium文件上传方法汇总
2020/11/19 Python
python正则表达式面试题解答
2020/04/28 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
社会实践活动总结报告
2014/04/29 职场文书
个人融资协议书
2014/10/02 职场文书
物业公司管理制度
2015/08/05 职场文书
敬老院活动感想
2015/08/07 职场文书
话题作文之自信作文
2019/11/15 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL