php删除字符串中的新行

时间:2017-07-28
本文章向大家介绍php如何删除字符串中的新行,需要的朋友可以参考一下。
$string = "
put returns between paragraphs

for linebreak add 2 spaces at end

";

想要从字符串中删除所有新行。

我用这个正则表达式,它可以捕获所有这些,问题是我不知道我应该使用哪个函数。

/\r\n|\r|\n/

最终的$string 应成为:

$string = "put returns between paragraphs for linebreak add 2 spaces at end ";

解决方法:

您必须小心双线换行,这会导致双倍空格。使用这个非常有效的正则表达式

$string = trim(preg_replace('/\s\s+/', ' ', $string));

多个空格和换行符将替换为单个空格。

编辑:正如其他人所指出的,此解决方案在单词之间存在匹配单个换行符的问题。这在示例中不存在,但可以很容易地看出这种情况是如何发生的。另一种方法是执行以下操作:

$string = trim(preg_replace('/\s+/', ' ', $string));