小小的回车换行,在不同的平台有着不同的实现。
为什么要这样,世界是多样的!
- 本来,在Unix / Linux世界换行用
\n
, - Windows为了体现不同,就用
\r\n
, - 更有意思的是,Mac中又用了
\r
。
所以,程序在不同的平台上,需要作不同的处理来替换回车换行符。
下面介绍3种PHP中替换回车换行的方法,
注意,最后一种才是最优最方便的哦~~~
方式1:正则表达式法
$str = preg_replace('/\s*/', '', $str);
这种方式效率最差。
方式2:内置函数法
$str = str_replace(array("\r", "\n", "\r\n"), '', $str);
这种方式效率其次,不过写法略长。
方法3:PHP_EOL法
这里不得不重新看一下PHP的预定义常量,
PHP_EOL就是其中的一个,代表PHP的换行符,
这个常量会根据平台不同而不同,在Windows下是\r\n
,Linux下是\n
,而Mac下是\r
所以,最优方法就是:
$str = str_replace(PHP_EOL, '', $str);
参考资料: