Форматирование комментария

Nexus_Noob

Новичок
Доброго времени суток.
В бд записывается многострочный текст - комментарий, перед записью в бд он обрабатывается:
PHP:
$new_comment=mysql_real_escape_string(trim(htmlspecialchars(nl2br($_POST['new_comment']))));
$new_comment=preg_replace('/\s\s+/', ' ', $new_comment);
После этот комментарий отображается на странице, правда не так как хотелось бы.
Из формы передается информация вида:
PHP:
Строка1
Строка2
Строка3
СтрокаN
На странице она уже выглядит так:
PHP:
Строка1<br />Строка2<br />Строка3<br />СтрокаN
Подскажите, как сделать так, чтобы из бд выходил текст с изначальным кол-вом строк?
Т.е. как сделать так, чтобы текст был отправлен из формы в виде:
PHP:
Строка1
СтрокаN
и выводился на странице в этом же виде?
Спасибо за внимание.
 

shelestov

я тут часто
shelestov
а я! а я! а я бы выводил в теге <pre></pre> :D
Не считаю нужным хранить в базе избыточную информацию в виде тегов <br /> и прочего.
У меня таблицы по 50 млн записей для меня лишние 3 тега в каждой записи это как минимум 16 байт * 50 000 000 :).
В UTF8 еще можно на 2 умножить.
 

doran7

Новичок
shelestov написал(а):
Не считаю нужным хранить в базе избыточную информацию в виде тегов <br /> и прочего.
А в процентном отношении этот <br /> к остальному содержимому БД сколько составляет?
 

doran7

Новичок
Nexus_Noob написал(а):
Всем спасибо за помощь. Все получилось.
Всем спасибо, все свободны... и ушел потихому. А как сделал-то, посмотреть интереснааа...

Меня вот все время тянет перед записью в БД сообщений от юзеров прогнать все через strip_tags ... на каком-то этапе.
 

Nexus_Noob

Новичок
Всем спасибо, все свободны... и ушел потихому. А как сделал-то, посмотреть интереснааа...

Меня вот все время тянет перед записью в БД сообщений от юзеров прогнать все через strip_tags ... на каком-то этапе.
Перед записью в в бд обрабатываю post:
PHP:
 $new_comment=mysql_real_escape_string($_POST['new_comment']);
$new_comment=preg_replace('/\s\s+/', ' ', $new_comment);
Перед выводом на страницу обрабатываю данные из бд:
PHP:
$msg_arr['comm_text']=trim(nl2br(htmlspecialchars($msg_arr['comm_text'])));
$msg_arr['comm_text']=preg_replace('/(<br[^>]*>)(?:\s*\1)+/','<br/>',$msg_arr['comm_text']);
 

undefined

Новичок
Перенос строки это абзац.

Поэтому на форумах и приходится делать два переноса чтобы изобразить абзац. Посчитайте сколько лишних бр-ов накоплено с нуля часов четверга 1 января 1970 года.

Забавно, конечно, выглядит попытка сэкономить в области где трещат социалки с социалами ниочем.
 
Сверху