發現一個有趣的事情:
$text="aaaa bbb ccc"; $text=str_replace('\n',"",$text); $text=str_replace('\r',"",$text); $text=str_replace('\r\n',"",$text);
正常來說,上面的代碼應該可以替換換行符了吧
但是事實上卻是不可以!
很郁悶,試了很多次,就是不起作用。
最後改成這樣
$text=str_replace("\n","",$text); $text=str_replace("\r","",$text); $text=str_replace("\r\n","",$text);
居然一切OK了~~,原來是雙引號,單引號的問題!!
雙引號 比單引號效率差點,因為雙引號在被php解析的過程中 ,還會判斷裡面會不會有變量,單引號就不會有這個判斷,故而一般來講,沒涉及到變量的情況下,我都會用單引號,沒想到這次替換換行符,用單引號居然不行·····
最後寫成一句話
$order = array("\r\n", "\n", "\r"); $replace = ''; $text=str_replace($order, $replace, $text);
這樣即可替換換行符!