曾先生博客

美好的生活需要用心记录

PHP去除换行符及PHP_EOL常量的使用

分享 换行符PHP 202 度

写过代码的应该都知道,小小的换行符在 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、使用str_replace 来替换换行

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

//2、使用正则替换
$str = preg_replace('//s*/', '', $str); 

//3、使用php定义好的变量 (建议使用)
$str = str_replace(PHP_EOL, '', $str);

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

我们也可以把不同行的内容放到一个数组中:
$lists = explode(PHP_EOL, $content);

我今天在干嘛?

  1. PHP结尾不使用闭合标记“?>”的好处 (2021年01月12日)
  2. DaZengCMS主题更新计划:大曾最近有点忙 (2013年01月12日)

PHP结尾不使用闭合标记“?>”的好处