помогите плз убрать множественные переносы строки

vlasoff
На сайте с 31.08.2007
Offline
101
4760

Доброго всем времени суток,

есть задача убрать множественные переносы строк, для теста сделал файлик test.php в кодировке utf-8:


$str = 'текст текст.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nтекст';
$str = preg_replace('/[\r\n]+/m','\r\n',$str);
echo $str;

выводится текст текст.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nтекст, т.е. то что находится изначально в $str. не могу понять в чём дело.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#1
vlasoff:
текст текст.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nтекст

Этоже не переносы а текст, или я что-то не пойму.... разве в пыхе не также как в перле? чтобы получить транслированную строку вместо ' нужно ставить "

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
vlasoff
На сайте с 31.08.2007
Offline
101
#2

все верно, спасибо!

НО, с POST данными снова проблема, не убирается!


echo $_POST['desc'],'<br/><br/>';
$_POST['desc'] = preg_replace("/[\r\n]+/ums", "\r\n", $_POST['desc']);
echo $_POST['desc'],'<br/><br/>';die();
T.R.O.N
На сайте с 18.05.2004
Offline
314
#3

vlasoff,

вы уверены что передается именно \r\n а не наоборот - \n\r. Совет, удалите все по очереди. сначала \r потом \n

опс, я конечно пыхой не загимаюсь, но вы уверены что такая запись вобще правомерна $_POST['desc'] = ???? и по ее результатам будет произведена замена содержимого?

vlasoff
На сайте с 31.08.2007
Offline
101
#4
T.R.O.N:
vlasoff,
вы уверены что передается именно \r\n а не наоборот - \n\r. Совет, удалите все по очереди. сначала \r потом \n
опс, я конечно пыхой не загимаюсь, но вы уверены что такая запись вобще правомерна $_POST['desc'] = ???? и по ее результатам будет произведена замена содержимого?

разобрался, в скрипте в index.php была функция, которая применяла mysql_real_escape_string ко всем данным, переданным через POST, таким образом переносы строк конвертировались в строку

J
На сайте с 02.02.2009
Offline
53
#5

А какую строку получали?

[Удален]
#6

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий