$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));
收藏 打印