Javascript去除回车换行符号和PHP去除回车换行符的方法
在不同的操作系统,回车换行符号是不一样的,看下面:
Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”,即“\r”。
一、Javascript去除回车换行符号
response = response.replace(/\r|\n/ig,"");
行结束符:行结束符 是一个或两个字符的序列,标记输入字符序列的行结尾。以下代码被识别为行结束符:
新行(换行)符 (\'\n\')、
后面紧跟新行符的回车符 ("\r\n")、
单独的回车符 (\'\r\')、
下一行字符 (\'\u0085\')、
行分隔符 (\'\u2028\') 或
段落分隔符 (\'\u2029)。
因此,考虑行结束符号及其转义后的形式,最有保证的方法是
str.replaceAll("(\n|\r|(\r\n)|(\u0085)|(\u2028)|(\u2029))", "")
二、PHP去除回车换行符的方法
三种写法:
第一种:
$content=str_replace("\n","",$content);
echo $content;
第二种:
str_replace("\r\n","",$str);
第三种:
$content=preg_replace("/\s/","",$content);
echo $content;
考虑到不同OS的识别机制,应该综合以上三种情况做完全兼容处理。
<?php //php 不同系统的换行 //不同系统之间换行的实现是不一样的 //linux 与unix中用 \n //MAC 用 \r //window 为了体现与linux不同 则是 \r\n //所以在不同平台上 实现方法就不一样 //php 有三种方法来解决 //1、使用str_replace 来替换换行 $str = str_replace(array("\r\n", "\r", "\n"), "", $str); //2、使用正则替换 $str = preg_replace(\'/\s*/\', \'\', $str); //3、使用php定义好的变量 (建议使用PHP_EOL换行符,以提高代码的源代码级可移植性。 //<em>PHP_EOL</em>是一个PHP内部已经定义的常量,代表PHP的换行符,这个变量会根据平台而变,在windows下会是\r\n,在linux下是\n,在mac下是\r. //类似常用的还有DIRECTORY_SEPARATOR,可以用函数get_defined_constants()来获取所有PHP常量。) $str = str_replace(PHP_EOL, \'\', $str); ?>
PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性
<?php echo PHP_EOL; //windows平台相当于 echo "\r\n"; //unix\linux平台相当于 echo "\n"; //mac平台相当于 echo "\r";
类似常用的还有
DIRECTORY_SEPARATOR
可以用函数get_defined_constants()来获取所有PHP常量
<?php print_r(get_defined_constants());//get_defined_constants()返回所有常量数组