Php 在一个新行中替换多个新行

Php 在一个新行中替换多个新行,php,preg-replace,Php,Preg Replace,我想用一个换行符替换多个换行符,用一个空格替换多个空格,然后插入到数据库中。 到目前为止我试过这个 preg\u replace(“/\n\n+/”、“\n”、$text)并且不工作 我还对$text进行了格式化 $text = wordwrap($text,120, '<br/>', true); $text = nl2br($text); $text=wordwrap($text,120,,true); $text=nl2br($text); 尝试使用以下方法:

我想用一个换行符替换多个换行符,用一个空格替换多个空格,然后插入到数据库中。
到目前为止我试过这个
preg\u replace(“/\n\n+/”、“\n”、$text)并且不工作

我还对$text进行了格式化

    $text = wordwrap($text,120, '<br/>', true);
    $text = nl2br($text);
$text=wordwrap($text,120,
,true); $text=nl2br($text);
尝试使用以下方法:

$text = str_replace(PHP_EOL, '', $text);

尝试使用以下模式:

/[\n\r]+/
详情如下:

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

您需要根据系统使用正确的行尾字符
PHP_EOL
为您确定行尾字符

$text=str\u replace(PHP\u下线,数组(“\n”、“\r\n”、“\r”)、$text)


仅适用于HTML

Windows使用“\r\n”作为新行字符

基于Unix的使用“\n”


Mac(我认为)使用“\r”

您可能需要:

preg_replace("/(\s)+/", "$1", $input_lines);
\s---匹配任何空白字符(所有字符,如空格、制表符、新行等)

$1---一组中的第一个空白字符。如果第一个是空格,后面有3行新行。我们只有一个空间

或者,您可以使用以下选项:

preg_replace("/(\n)+/", "$1", $input_lines);
preg_replace("/( )+/", "$1", $input_lines);
尝试:


考虑到最后一行中的空间。
$text=preg\u replace(“/[\r\n]+\s+/”,“\r\n”,$text)

您可能应该考虑不同的可能换行组合,即
\n
\r
\r\n
。这取决于运行此操作的系统。每个组合之间的区别是什么?我正在使用MAC OS。作为参考,我相信Windows使用
\r\n
,Linux和类似Unix的系统倾向于使用
\n
,MAC OS倾向于
\r
。不过,编写代码时应该考虑所有情况。您应该尽可能争取平台独立性。
preg_replace("/[\r\n]+/", "\n", $text);