Как заменить r & n на?
попытка просто заменить некоторые новые строки. Попробовали 3 разных способа, и я не получаю никаких изменений:
$description = preg_replace('/r?n|r/','<br/>', $description);
$description = str_replace(array("rn","r","n"),"<br/>", $description);
$description = nl2br($description);
все это должно работать, но я все еще получаю новые строки. Они двойные:"rr". Это не должно привести ни к одному из них, верно?
8 ответов:
уже
nl2br()
у вас могут быть реальные символы "\" в строке (строки с одинарной кавычкой, как сказал @Robik).
Если вы совершенно уверены, что строки '\r' или '\n' также должны быть заменены, я не говорю о специальных символах здесь, но последовательность из двух символов ' \ 'и' r', затем экранируйте ' \ ' в строке замены, и она будет работать:
str_replace(array("\r\n","\r","\n","\r","\n","\r\n"),"<br/>",$description);
nl2br()
как у вас это должно работать нормально:$description = nl2br($description);
это более вероятно, что незакрытые
'
в первой строке вашего примера кода вызывает вашу проблему. Удалите ' после $описание......$description');
Это будет работать точно:
str_replace("\r","<br />",$description); str_replace("\n","<br />",$description);