Функция PHP nl2br

У меня есть <textarea>, в котором я сохраняю сообщение, которое отправляется пользователю, зарегистрировавшемуся на моем сайте. Означает, что я могу изменить сообщение из моей панели администратора.

я использую

$message = nl2br($_POST['message']);

Эта команда сохраняет $message в БД каждый раз, когда я обновляю сообщение, чтобы оно могло обрабатывать мой Enter как <br>. Но теперь предположим, что если я обновлю сообщение без внесения каких-либо изменений, оно добавит <br> к <br> (2 разрыва строки ).

я вхожу в текстовое поле

Hi 
Thanx for contact Us

Он будет хранить его как

Hi<br>
Thanx for contacting us<br>

Теперь, если я добавлю к нему строку

Hi<br>
Thanx for contacting us<br>
-Team MCXIndiaLive

Он будет хранить его как

Hi<br><br>
Thanx for contacting us<br><br>
-Team MCXIndiaLive

Как я могу это остановить???


person void    schedule 27.05.2013    source источник
comment
Сохраните оригинал и предъявите его при редактировании. ИЛИ сохранить только исходный вызов nl2br при представлении его пользователю.   -  person Maerlyn    schedule 27.05.2013
comment
Вы можете найти это полезным: stackoverflow.com/questions/2436145/   -  person LeonardChallis    schedule 27.05.2013
comment
Используйте nl2br только при отображении, а не при сохранении.   -  person Oliver Charlesworth    schedule 27.05.2013
comment
@ Оли Чарльзворт: Спасибо .. это работает .. :)   -  person void    schedule 27.05.2013


Ответы (1)


Может быть, лучше хранить его в чистоте. Так что без разрывов строк.

При отображении теста вы добавите nl2br, поэтому при редактировании текста разрывы строк не будут добавляться дважды.

person Eernie    schedule 27.05.2013