Ereg_replace

Mouse_red

Guest
Ereg_replace

hi !
Не могу корректно написать замену.
Необходимо в тексте ставить <br> вместо \r\n, но не использовать замену если перед \r\n находится > (скобка тэга)

в принципе работает
$contents = "привет!\r\n
\r\n
<table>\r\n
<tr>\r\n
<td></td>\r\n
</tr>\r\n
</table>\r\n
\r\n
пока!
";
ereg_replace("[^.>]\r\n","<br>",$contents);

но при этом съедается символ перед \r\n и если перед \r\n стоит \r\n, то замена не происходит :confused:

помогите разобраться
 

Mouse_red

Guest
нет
nl2br - ставит <br> после каждого символа \n
а мне надо чтобы не ставился <br> перед >

к примеру у меня текст и таблица:
после каждго тэга таблицы будет стоять <br> и вся таблица рушится

:confused:
 

гоша

Guest
может лучше сначала вообще все спейсы выкусить

preg_replace(
array('~>\s+~','~\s+<~'),
array('>','<'),
$html);

а потом уже nl2br

а так как ты написал надо типа

([^>\r\n])[\r\n]+ --> $1
 
Сверху