PHP несколько новых строк - PullRequest
       1

PHP несколько новых строк

6 голосов
/ 29 октября 2010

Я немного застрял.Как удалить несколько новых строк, которые находятся в строке с одной новой строки.Может быть что угодно до 20 новых строк рядом друг с другом.Например,

Джеймс сказал привет \ n \ n \ n \ n Тест \ n Тестировать два \ n \ n

В итоге получится:

Джеймс сказал привет \ nТест \ n Тест два \ n

Ответы [ 4 ]

10 голосов
/ 29 октября 2010

Попробуйте это:

$str = "Hello\n\n\n\n\nWorld\n\n\nHow\nAre\n\nYou?";
$str = preg_replace("/\n+/", "\n", $str);
print($str);
4 голосов
/ 29 октября 2010

Улучшение ответа Марка Б.:

$fixed_text  = preg_replace("\n(\s*\n)+", "\n", $text_to_fix);

, который должен соответствовать начальному символу новой строки, затем по крайней мере одной группе из любого количества пробелов, за которой следует символ новой строки, и заменить все на новую строку.

1 голос
/ 29 октября 2010
$fixed_text = preg_replace("\n+", "\n", $text_to_fix);

Это должно быть сделано, предполагая, что последовательные символы новой строки действительно последовательны и не имеют пробелов (табуляции, пробелов, возврата каретки и т. Д.) Между ними.

0 голосов
/ 29 октября 2010
$str = 'James said hello\n\n\n\n Test\n Test two\n\n';
echo preg_replace('{(\\\n)\1+}','$1',$str);
...