一个小小的换行,其实在不同的平台有着不同的实现,为什么要这样,可以是世界是多样的。
本来在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);