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

时间:2014-08-04 10:12:51

标签: php preg-replace

我想用一个Newline字符替换多个Newline字符,用一个空格替换多个空格并将Insert In替换为数据库。
到目前为止我试过这个         preg_replace("/\n\n+/", "\n", $text);并且不起作用!

我也在$ text上进行格式化工作。

    $text = wordwrap($text,120, '<br/>', true);
    $text = nl2br($text);

6 个答案:

答案 0 :(得分:6)

尝试使用以下模式:

/[\n\r]+/

如下:

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

答案 1 :(得分:4)

你可能需要这个:

preg_replace("/(\s)+/", "$1", $input_lines);

\ s ---匹配任何空格字符(所有字符,如空格,制表符,换行符等)

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

或者你可以使用它:

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

答案 2 :(得分:1)

尝试使用以下内容:

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

答案 3 :(得分:1)

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

$text = str_replace(PHP_EOL, array("\n", "\r\n", "\r"), $text);

<br />仅适用于HTML

Windows使用&#34; \ r \ n&#34;换行符号

基于Unix的使用&#34; \ n&#34;

Mac(我认为)使用&#34; \ r&#34;

答案 4 :(得分:0)

尝试preg_replace()

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

答案 5 :(得分:0)

考虑最后一行的空格。 git reset --hard <hash of a2>