- preg\_replace( \$pattern,\$replacement,\$subject),preg\_filter ( \$pattern,\$replacement,\$subject); preg\_replace 和preg\_filter 將匹配到的數值進行替換,可以使用數組替換;\ $replacement 將匹配到的值替換為這個變數中存放的值; \$patternRegex; \$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不替換的符串或數組。
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('').text(i)); }; $numbering.fadeIn(1700); }); }); 以上就介紹了Regex之PHP篇replace,filter,grep,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。