nl2br() - когда лучше делать, перед внесением даных в базу или перед выводом?

que_bunt

Новичок
nl2br() - когда лучше делать, перед внесением даных в базу или перед выводом?

если скрипт добавляет какие-то небольшые текстовые даные (новости, коменты, статьи) то когда лучше всего делать nl2br() ?
с одной стороны: если перед внесением даных в базу, то эта операция осуществляется только один раз, а если перед выводом то каждый раз.
с другой: может когда нибудь понадобится даные в plain text а не в html и надо будет писать обратную функцию br2nl (такой вроде в пхп нет).

как вы делаете? я пока перед внесением даных в базу, просто задумался над этим вопросом и стало интересно как делают люди.
 

vasa_c

Новичок
Я при выводе обычно. nl2br + htmlspecialchars.
Потому что данные, возможно нужно будет редактировать, поэтому они д.б. в изначальном виде.
 

que_bunt

Новичок
>возможно нужно будет редактировать
спасибо vasa_c, веский аргумент.
вот я и вспомнил почему хотел переделать скрипт так чтобы делать nl2br() перед выводом.

-~{}~ 06.05.06 17:51:

>ХТМЛ или текст?
Panchous каждый раз по разному, просто думал придти к какому-то одному способу испозьзования nl2br
 

kost

Новичок
BEZZ
> храни в HTML, а при выводе обрабатывай
?
Куда дальше-то обрабатывать?
 

que_bunt

Новичок
BEZZ, не все-таки решыл хранить просто текст, редактировать легче (а в это очень часто нужно), + если часто выводить одно и тоже можно кешыть.
 

clops

Новичок
лучше перед хранением в СУБД, ибо так оптимальнее — вызывать только один раз при сохранении, а не при _каждой_ отдаче страницы. Думайте о ресурсах (крошка к крошке и однажды всё начинает тормозить и жрать память, а мы не знаем «отчего») =))
 

Kirs

Fireman
que_bunt
храни как есть, обрабатывай на выводе, ибо у тебя при таком способе хранения не возникнет таких вопросов, как сейчас.
Этот вопрос очень часто обсуждался на форуме, обратись к поиску, там тебе откроится истина.
 

clops

Новичок
все такие умные — что мешает в СУБД держать два поля? одно для raw_content — второе для processed_content — и проблем с пост-обработкой одной и той же хери для _кааааждой отдачи страницы_ тогда не возникает
 

que_bunt

Новичок
интересный вариант...
clops ты в своих приложениях так и делаеш?
 

kruglov

Новичок
clops
У вас проблемы с пост-обработкой? Вы хотите об этом поговорить?
 

clops

Новичок
que_bunt
я всегда так делаю, если есть шанс, что контент будут обрабатывать снова. я — performance geek, и считаю, что любую операцию достаточно сделать __один__ раз ;) (это, кстати, относится и к запросам к СУБД)

-~{}~ 07.05.06 15:05:

kruglov
нет, спасибо, у меня проблем нет вообще, но, видимо, проблемы есть у людей, которые написали 18 страниц в пустоту вот в этой нити — http://phpclub.ru/talk/showthread.php?s=&threadid=77759&perpage=10&highlight=htmlspecialchars&pagenumber=1
 

que_bunt

Новичок
прочитал топик по ссылке sage.
что ж интересно, советую читать всем, кто ещо не читал.

мой вывод: буду унифицыровать все что поддается унификаии, а все остальное хранить "как есть" с обработкой перед выводом.

и ещо после прочтения того топика заинтересовал вопрос полнотекстового поиска по базе для англоязычных текстов с хтмл - если пользователь ищет table а почти у всех документах есть теги типа <table ...>...
но для этого вопроса скорее надо создать новый топик...
 

clops

Новичок
que_bunt, что мешает в СУБД держать два поля с RAW и Processed контент соответственно?
 

que_bunt

Новичок
clops в конце топика ForJest и RVK хорошо просумировали все идеи, так что не все там в пустоту, просто много водички.

а ваша идея мне понравилась, возможно когда-то тоже так буду делать, когда приду к кризе в том способе, который выбрал счас.

раньше я вобще умудрялся все проверки и изменения делать до ввода в базу (htmlspecialchars например)

минус вашего метода:
если база возрастает на 300-400 мегов в месяц - 2-4 гига в год то при вашем подходе это 5-8 гигов в год, хотя правда место не такое дорогое, все зависит от цены задачи.
 

clops

Новичок
que_bunt
я исхожу из простого соображения, что processing power стоит дороже места на диске ;) тот же ЖЖ, например, хранит две версии контента, а там база растёт по несколько гигов в день.

-~{}~ 07.05.06 18:06:

que_bunt
> раньше я вобще умудрялся все проверки и изменения делать до ввода в базу (htmlspecialchars например)

ахха — знакомая тема, да и вполне логичная — до тех пор пока не появляется надобность контент постоянно редактировать
 

que_bunt

Новичок
кстати clops я тут ещо вспомнил про кешырование, это наверное будет проще и лучше сделать чем два столбца, верно?
 
Сверху