$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 ";

当前回答

对已接受答案的一些评论:

+表示“1或更多”。我认为你没有必要重复。我认为你可以简单地写“/\s+/”。

此外,如果想要删除字符串中的第一个和最后一个空白,则添加trim。

经过这些修改,代码将是:

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

其他回答

用这个:

将换行符替换为空字符串:

$string = preg_replace("/[\\n\\r]+/", "", $string);

或者你可能想用一个空格替换换行符:

$string = preg_replace("/[\\n\\r]+/", " ", $string);
$string = str_replace(array("\n", "\r"), ' ', $string);

这些解决方案中有许多对我不起作用。 这招奏效了:-

$svgxml = preg_replace("/(*BSR_ANYCRLF)\R/",'',$svgxml);

参考文献如下:- PCRE和New Lines

文本中的换行符通常表示为:

\r\n -在Windows电脑上

\r -在苹果电脑上

\n - Linux

//Removes all 3 types of line breaks

$string = str_replace("\r", "", $string);

$string = str_replace("\n", "", $string);

以下代码工作所有文本请使用它:

$des = str_replace('\n',' ',$des);
$des = str_replace('\r',' ',$des);