分享 PHP 替换换行符的几种方法
一个小小的换行,其实在不同的平台有着不同的实现,为什么要这样,世界这么大,我也不知道为什么。本来在 UNIX 世界换行就用 /n
来代替,但是 Windows 为了体现他的不同,就用 /r/n
,更有意思的是在 Mac 中用 /r
。因此 UNIX 系列用 /n
,Windows 系列用 /r/n
,Mac用 /r
,这样就用你写的程序在不同的平台上运行有着不少的麻烦。下面是PHP去除换行符的一些常见方法。
str_replace
str_replace("\r\n", "", $str);
preg_replace
$content = preg_replace("/\s/", "", $content);
echo $content;
关于 \n
\r
\t
\n
软回车:在 Windows 中表示换行且回到下一行的最开始位置,在 Linux、unix 中只表示换行,但不会回到下一行的开始位置。
\r
软空格: 在 Linux、unix 中表示返回到当行的最开始位置。 在 Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n
的效果。 \t
跳格(移至下一列)
几点说明
它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。 \r\n
一般一起用,用来表示键盘上的回车键(Linux,Unix中),也可只用 \n
(Windwos中),在 Mac OS 中用 \r
表示回车。 \t
表示键盘上的 TAB 键。 文件中的换行符号:Windows : \n
、Linux、unix :\r\n
- 不同系统之间换行的实现是不一样的
- Linux 与 Unix 中用
/n
MAC 用/r
- Window 为了体现与 linux 不同则是
/r/n
- 所以在不同平台上实现方法就不一样
替换方式
使用 str_replace
来替换换行
$str = str_replace(array("/r/n", "/r", "/n"), "", $str);
使用正则替换
$str = preg_replace('//s*/', '', $str);
使用php定义好的变量 (建议使用)
$str = str_replace(PHP_EOL, '', $str);
PHP_EOL 变量
PHP_EOL 是一个些已经定义好的变量,代表 PHP 的换行符,这个变量会根据平台而变,在 Windows 下会是 /r/n
,在 Linux 下是 /n
,在 Mac 下是 /r
,换行就按下面的就可以了。
$str = str_replace(PHP_EOL, '', $str);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论