一個小小的換行,其實在不同的平臺有着不同的實現,爲什麼要這樣,可以是世界是多樣的。
本來在unix世界換行就用\n來代替,但是windows爲了體現他的不同,就用\r\n,更有意思的是在mac中用\r
因此unix系列用 \n
windows系列用 \r\n
mac用 \r
這樣就用你寫的程序在不同的平臺上運行有着不少的麻煩
比如有的程序要把文件中的所有行都合成一行,這有不同的實現方式,
第一種方式
str_replace(array("\r","\n","\r\n"),"",$string);
第二種方式就用正則表達示
$str = preg_replace('/\s*/', '', $str);
第三種方式
這裏不得不重新看一下php那些已經定義好的變量
PHP_EOL就是其中的一個,代表php的換行符,這個變量會根據平臺而變,在windows下會是\r\n,在linux下是\n,在mac下是\r
$str = str_replace(PHP_EOL, '', $str);