正则表达式之PHP篇replace,filter,grep
2016-03-08 09:55
591 查看
- preg\_replace( \$pattern,\$replacement,\$subject),preg\_filter ( \$pattern,\$replacement,\$subject); preg\_replace 和preg\_filter 将匹配到的数值进行替换,可以使用数组替换; \ $replacement 将匹配到的值替换为这个变量中存放的值; \$pattern正则表达式; \$subject返回结果;
区别:
function show($var = null){ if(empty($var)){ echo 'null'; }elseif(is_array($var)||is_object($var)){ echo '<pre>'; print_r($var); echo '<pre>'; }else { echo $var; } } //preg_replace,preg_filter //$pattern = '/[0-9]/';//字符串 $pattern = array('/[0123]/','/[456]/','/[789]/');//数组 //$subject = 'y1jp78yn16ww55j9';//是字符串,使用$pattern和$replacement作了一次匹配替换 $subject = array('y','1jp78','yn','16ww','55j9');//把$subject字符串任意拆分成好几段,放在$subject数组中,对数组中的每个值都做一次匹配替换 //$replacement = '慕女神';//当$subject匹配到结果后要替换的变量 $replacement = array('慕','女','神'); $str1 = preg_replace($pattern,$replacement,$subject);//保留所有字符串 $str2 = preg_filter($pattern,$replacement,$subject);//只会保留发生了替换的字符串 show($str1); echo '<hr />'; show($str2);
结果:
结论:
preg\_replace在数组匹配中会输出未发生匹配的字段; preg\_filter 在数组匹配中不会输出未发生匹配的字段;
preg_grep($pattern,array $input)
功能与preg_filter 相似,只匹配不替换而且只返回发生匹配的字符串或数组,可以起一个过滤作用,过滤掉preg_filter不替换的符串或数组。
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- jQuery plugin items filter
- msql 正则表达式
- 正则表达式
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- Mootools 1.2教程 正则表达式
- 全国哀悼日网站页面变成灰色的filter方法
- 用css filter做鼠标滑过图片效果
- 批处理FINDSTR正则表达式用法实例分析
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充