删除php中的换行符

时间:2011-10-01 18:44:15

标签: php

以下是php中preg_replace()函数的语法:

$new_string = preg_replace($pattern_to_match, $replacement_string, $original_string);

如果文本文件同时具有Windows(rn)和Linux(n)行尾(EOL)字符,即换行符。

那么以下哪一项是应用preg_replace()来摆脱所有行尾字符的正确顺序?

  1. 首先删除cr

    $string = preg_replace('|rn|','',$string);
    $string = preg_replace('|n|','',$string);
    
  2. 首先删除普通的nl

    $string = preg_replace('|n|','',$string);
    $string = preg_replace('|rn|','',$string);
    

3 个答案:

答案 0 :(得分:2)

我建议使用:( Windows,Unix和Mac EOL字符)

$string = preg_replace('/\r|\n/m','',$string);

注意m多行修饰符。

答案 1 :(得分:0)

使用正则表达式的强大功能,您可以指定类似

的内容
'|[\r][\n]|'

具体是指0或1'\ r',然后是0或1'\ n',它们将匹配linux和windows下的行尾。

编辑: 使用内置函数trim将以更好的方式获得相同的结果,但前提是换行符位于字符串的开头或结尾。

答案 2 :(得分:0)

  

以下哪一项是应用preg_replace来摆脱所有行尾字符的正确顺序?

$string = preg_replace("!\r|\n!m",'',$string);