如何从字符串中删除新行

时间:2010-07-08 01:23:10

标签: php

是否有任何php方法从字符串中删除新的行字符?

$str ="
Hi
there
";

我的字符串在'Hi'和'there'之间包含一个新行char 我希望输出为“你好”。我不想使用正则表达式。

5 个答案:

答案 0 :(得分:11)

这有点令人困惑

  

是否有任何php方法从字符串中删除新的行字符?

看起来你真的希望用空格取代它们。

$str = str_replace(array("\r\n", "\n", "\r"), ' ', $str);

假设替换从左到右,这应该适合Windows文本文件。

第一个分组是匹配同时使用\ r和\ n。

的Windows换行符

答案 1 :(得分:5)

$str=str_replace("\n", "", $str);应该这样做。

"\n"表示php中的换行符。

答案 2 :(得分:5)

无法在PHP中转义换行符。

在列出所有转义字符后,在strings上的PHP文档中提到:

  

与单引号字符串一样,将导致转义任何其他字符   在反斜杠中也被打印出来。

所以你可以通过打破每一行中的字符串并用点连接它们来做到这一点:

$str = "Hi " .
"there" .
"!";

答案 3 :(得分:4)

要获得预期的结果,您需要:

$str = trim(str_replace( array("\r\n","\r","\n",'  '), ' ' , $str));

或使用正则表达式(这是故障安全的,您无法考虑使用str_replace版本可能获得的所有额外间距):

$str = trim(preg_replace( array('/\v/','/\s\s+/'), ' ' , $str)); // 'Hi there'

答案 4 :(得分:0)

您可以使用以下脚本。

$ str = str_replace(“\ n”,“”,$ str);

由于