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()返回所有常量数组

 

posted on 2015-10-19 15:46  linQi  阅读(616)  评论(0编辑  收藏  举报

导航