正则表达式之PHP篇replace,filter,grep
程序员文章站
2022-05-26 12:58:19
...
- preg\_replace( \$pattern,\$replacement,\$subject),preg\_filter ( \$pattern,\$replacement,\$subject);
preg\_replace 和preg\_filter 将匹配到的数值进行替换,可以使用数组替换;
\ $replacement 将匹配到的值替换为这个变量中存放的值;
\$pattern正则表达式;
\$subject返回结果;
区别:
functionshow($var = null){if(empty($var)){
echo'null';
}elseif(is_array($var)||is_object($var)){
echo''
;
print_r($var);
echo''
;
}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'
';
show($str2);
结果:
结论:
preg\_replace在数组匹配中会输出未发生匹配的字段;
preg\_filter 在数组匹配中不会输出未发生匹配的字段;
- preg_grep($pattern,array $input)
功能与preg_filter 相似,只匹配不替换而且只返回发生匹配的字符串或数组,可以起一个过滤作用,过滤掉preg_filter不替换的符串或数组。
以上就介绍了正则表达式之PHP篇replace,filter,grep,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
推荐阅读
-
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
-
PHP学习笔记九之正则表达式(进阶篇)
-
初探php之正则表达式(一)基础篇
-
初探php之正则表达式(一)基础篇
-
正则表达式之PHP篇replace,filter,grep
-
正则表达式之PHP篇replace,filter,grep
-
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)_php技巧
-
初探php之正则表达式(一)基础篇_PHP教程
-
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
-
正则表达式之PHP篇split 与 php函数explode