例:替換英文逗號,空白字元,或者中文逗號
$str = '正確,聯絡我們 goodsjob,goodsjob';
$reg = array(',',' ',',' );
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
返回的資料是:username like %正確%,%, or username like %or%, or username like %username%, or username like %like%, or username like %%聯絡我們%, or username like %goodsjob%, or username like %goodsjob%,為什麼呢?
正確的結果應該是:usernme like %正確%, or username like %聯絡我們%, or username like %goodsjob%
回複內容:
例:替換英文逗號,空白字元,或者中文逗號
$str = '正確,聯絡我們 goodsjob,goodsjob';
$reg = array(',',' ',',' );
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
返回的資料是:username like %正確%,%, or username like %or%, or username like %username%, or username like %like%, or username like %%聯絡我們%, or username like %goodsjob%, or username like %goodsjob%,為什麼呢?
正確的結果應該是:usernme like %正確%, or username like %聯絡我們%, or username like %goodsjob%
先把空格替換成其他字元 $str在替換的過程中,=》 %, or username like % ,這裡面也存在滿足你替換規則的字串所以會影響到結果
$str = '正確,聯絡我們 goodsjob,goodsjob'; $str = str_replace(' ', ' ', $str); $reg = array(',',','," "); $strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
注意:由於str_replace()函數替換左到右,它可能會進行多次替換時替換以前插入的值。