欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

[PHP小技巧]PHP去除换行符及PHP_EOL常量的使用 换行常量 PHP_EOL 有大用

写过代码的应该都知道,小小的换行符在 Windows/Linux/Mac 下都是不一样的。本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。这样就会导致你的代码搬到另一个系统下就会出现一些错误。


关于 \n , \r, \t

\n 软回车:在Windows 中表示换行且回到下一行的最开始位置,在Linux、unix 中只表示换行,但不会回到下一行的开始位置。

\r 软空格: 在Linux、unix 中表示返回到当行的最开始位置,在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。

\t 跳格(移至下一列)

它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。

 PHP中常用去除换行符的几种方法

  1. //1、使用str_replace 来替换换行

  2. $str = str_replace(array("/r/n", "/r", "/n"), "", $str);

  3.  

  4. //2、使用正则替换

  5. $str = preg_replace('//s*/', '', $str);

  6.  

  7. //3、使用php定义好的变量 (建议使用)

  8. $str = str_replace(PHP_EOL, '', $str);

PHP_EOL是一个些已经定义好的常量,代表php的换行符,这个变量会根据平台而变,在windows下会是/r/n,在linux下是/n,在mac下是/r。

我们也可以把不同行的内容放到一个数组中:

  1. $lists = explode(PHP_EOL, $content);

 


普通分类: