<code> - preg\_replace( \$pattern,\$replacement,\$subject),preg\_filter ( \$pattern,\$replacement,\$subject); preg\_replace 和preg\_filter 将匹配到的数值进行替换,可以使用数组替换; \ $replacement 将匹配到的值替换为这个变量中存放的值; \$pattern正则表达式; \$subject返回结果; </code>
区别:
<code><span><span>function</span><span>show</span><span>(<span>$var</span> = null)</span>{</span><span>if</span>(<span>empty</span>(<span>$var</span>)){
<span>echo</span><span>'null'</span>;
}<span>elseif</span>(is_array(<span>$var</span>)||is_object(<span>$var</span>)){
<span>echo</span><span>'<pre class="brush:php;toolbar:false;">'</span>;
print_r(<span>$var</span>);
<span>echo</span><span>'<pre class="brush:php;toolbar:false;">'</span>;
}<span>else</span> {
<span>echo</span><span>$var</span>;
}
}
<span>//preg_replace,preg_filter</span><span>//$pattern = '/[0-9]/';//字符串</span><span>$pattern</span> = <span>array</span>(<span>'/[0123]/'</span>,<span>'/[456]/'</span>,<span>'/[789]/'</span>);<span>//数组</span><span>//$subject = 'y1jp78yn16ww55j9';//是字符串,使用$pattern和$replacement作了一次匹配替换</span><span>$subject</span> = <span>array</span>(<span>'y'</span>,<span>'1jp78'</span>,<span>'yn'</span>,<span>'16ww'</span>,<span>'55j9'</span>);<span>//把$subject字符串任意拆分成好几段,放在$subject数组中,对数组中的每个值都做一次匹配替换</span><span>//$replacement = '慕女神';//当$subject匹配到结果后要替换的变量</span><span>$replacement</span> = <span>array</span>(<span>'慕'</span>,<span>'女'</span>,<span>'神'</span>);
<span>$str1</span> = preg_replace(<span>$pattern</span>,<span>$replacement</span>,<span>$subject</span>);<span>//保留所有字符串</span><span>$str2</span> = preg_filter(<span>$pattern</span>,<span>$replacement</span>,<span>$subject</span>);<span>//只会保留发生了替换的字符串</span>
show(<span>$str1</span>);
<span>echo</span><span>'<hr />'</span>;
show(<span>$str2</span>);</code>结果: 
结论:
<code>preg\_replace在数组匹配中会输出未发生匹配的字段; preg\_filter 在数组匹配中不会输出未发生匹配的字段; </code>
以上就介绍了正则表达式之PHP篇replace,filter,grep,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号