Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Замена Enter на <br>


Автор: NeoRus 2.8.2008, 15:43
При обработке текста из textarea, мне нужно чтобы все поставленные ентеры, заменялись тегом <br>
Как сделать такое?

Автор: Fortop 2.8.2008, 15:45
NeoRus, 
в направлении мануала и функции
nl2br()

Автор: Dima 2015 2.8.2008, 15:59
NeoRus, 
Fortop, я strreplace("\n", '<br>', $message) юзаю, хотя это поди медленне...

Автор: NeoRus 2.8.2008, 16:00
Цитата(Dima 2015 @  2.8.2008,  15:59 Найти цитируемый пост)
я strreplace("\n", '<br>', $mesage) юзаю, хотя это поди медленне...

Я пробывал str_replace("\r\n", '<br>', $mesage)
но ничего не заменило

Автор: Sannis 2.8.2008, 16:27
Цитата(NeoRus @  2.8.2008,  16:00 Найти цитируемый пост)
Я пробывал str_replace("\r\n", '<br>', $mesage)
но ничего не заменило 

В разных системах перевод строки представляется разными символами, в UNIX это просто \n, в Mac \n\r. nl2br() будет лучшим решением.

Автор: NeoRus 3.8.2008, 09:36
а всё, я просто забыл перед str_replace переменную написать.

Автор: Gold Dragon 4.8.2008, 09:15
а можно и так
Код

str_replace(array("\r\n", "\r", "\n"),"<br>", $text);

Автор: bars80080 4.8.2008, 09:18
или всё же не изобретать велосипед и использовать nl2br(), которую специально для этого и придумали

Автор: Gold Dragon 4.8.2008, 11:10
bars80080, а обратно? smile

И иногда нужно получить не <br> а например [br]

Автор: bars80080 4.8.2008, 11:11
Цитата(NeoRus @  2.8.2008,  15:43 Найти цитируемый пост)
При обработке текста из textarea, мне нужно чтобы все поставленные ентеры, заменялись тегом <br>

обратно не зачем, всё же предполагается, что обработка будет при выводе в браузер, а не при вводе в базу

Автор: Gold Dragon 4.8.2008, 11:28
ну так часто бывает необходимым редактировать, а это значит что текст загонять опять в textarea smile

Автор: bars80080 4.8.2008, 12:10
да, в текстареа вводим энтеры, в базе сохраняем с \r\n, при редактировании выводим в текстареа с этими \r\n, а при выдачи в браузер на страницу пропускаем через nl2br();

Автор: sTa1kEr 4.8.2008, 12:12
Цитата(Gold Dragon @  4.8.2008,  12:10 Найти цитируемый пост)
bars80080, а обратно? smile

А обратно http://php.net/strip_tags

Автор: bars80080 4.8.2008, 13:10
а зачем лишние телодвижения?

Автор: Gold Dragon 4.8.2008, 13:19
bars80080, слушай... хорошо предложил.. а я вот вымудряюсь.. Вот что значит мозгами не допёр  smile И правда, зачем в базе хранить <br>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)