php去掉空格换行
PHP
PHP中有\r \r\n \t等多个隐藏字符,我们一般在源代码里面都看不到这些字符,但是他们却真实的存在,下面我们来说说他们都有那些区别。
\n 软回车:
在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。
在Linux、unix 中只表示换行,但不会回到下一行的开始位置。
\r 软空格:
在Linux、unix 中表示返回到当行的最开始位置。
在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。
\t 跳格(移至下一列)。
它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。
\r\n 一般一起用,用来表示键盘上的回车键,也可只用 \n。
\t表示键盘上的“TAB”键。
就像你使用 enter 和 shift+enter 的区别,如果要显示在页面上的效果还要转化为 HTML 代码或用…
文件中的换行符号:
linux,unix: \r\n windows : \n Mac OS : \r
对应:
\n LF或ASCII中的0x0A(10) \r CR或ASCII中的0x0D(13) \t 水平制表符-HT或ASCII中的0x09(9) \\ 反斜杠 \$ 美圆符 \” 双引号
删除方法
在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);
当然我们可以把他定义成一个函数,然后一起替换,这样可以重复使用这个代码片段。
function trimall($str){ $qian=array(" "," ","\t","\n","\r"); return str_replace($qian, '', $str); }
显示隐藏字符
我们不知道这个隐藏字符是什么,但是我们可以通过PHP的nl2br转为前台可显示的换行,然后对症,即可轻松解决换行和空格字符串问题。
$str = "a b e f c"; echo nl2br($str);