正则表达式之PHP篇replace,filter,grep

 - 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不替换的符串或数组。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值