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

当前回答

我不确定这是否对已经提交的答案有任何价值,但我也可以张贴它。

// Create an array with the values you want to replace
$searches = array("\r", "\n", "\r\n");

// Replace the line breaks with a space
$string = str_replace($searches, " ", $string);

// Replace multiple spaces with one
$output = preg_replace('!\s+!', ' ', $string);

其他回答

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

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

可以使用preg_replace替换PCRE正则表达式: http://php.net/manual/en/function.preg-replace.php

$new_string = preg_replace("/\r\n|\r|\n/", ' ', $old_string);

将用空格替换新行或返回字符。如果你不想用任何东西替换它们,将第二个参数改为“。

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

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

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

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

我不确定这是否对已经提交的答案有任何价值,但我也可以张贴它。

// Create an array with the values you want to replace
$searches = array("\r", "\n", "\r\n");

// Replace the line breaks with a space
$string = str_replace($searches, " ", $string);

// Replace multiple spaces with one
$output = preg_replace('!\s+!', ' ', $string);