[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace
переносы строк или preg_replace
Здравствуйте помогите плиз ни как не могу найти этот код в инете!

пользователь написал
lol/nlol/n/nlol/n/n/n/n/n/n/nlol/n/n/n/n/n/n/n

как видите после первого lol стоит перенос строки
и пот после второго стоит 2 переноса строки

а после третьего множество

мне нужно так чтобы если человек оправил более 2 переносов и после них текст
остальные лишнии строки удалялись, а если пользователь отправил просто пустые строки то они удалились полностью

получается сервер запишет только
lol/nlol/n/nlol/n/nlol
OleKh
$string ='lol/nlol/n/nlol/n/n/n/n/n/n/nlol/n/n/n/n/n/n/n';

$string = preg_replace (array( '#(/n){3,}#', '#(/n){1,}$#', '#^/n+$#'),
array( '/n/n', '', '' ), $string );

echo $string;//lol/nlol/n/nlol/n/nlol
killer8080
$str = "line1\nline2\r\n\r\n\r\nremove this"; 
echo '<pre>'.preg_replace('#^(.*?)(\r\n|\r|\n){3,}.*$#s', '$1', $str).'</pre>';
Адик
Огромное спасибо)
OleKh
:)
$str ="lol\nlol\n\nlol\n\n\n\n\n\n\nlol\n\n\n\n\n\n\n";
echo preg_replace('#^(.*?)(\r\n|\r|\n){3,}.*$#s', '$1', $str);
//lol lol lol, а должно быть lol lol lol lol

echo preg_replace (array( '#(\n){3,}#', '#(\n){1,}$#', '#^\n+$#'),
array( ' ', '', '' ), $str );
//lol lol lol lol


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.