Хранить ли в базе форматированный текст?

fog

Рыцарь Джедай
Хранить ли в базе форматированный текст?

Такой вопрос, имеет ли смысл хранить в базе форматированный текст?

т.е. перед записью в базу

- заменять переводы строк на <br>
- заменять " на quot;
- заменять < на &lt;

и так далее

или лучше хранить в базе текст в таком виде, в каком он пришел от пользователя, и выполнять эти действия при выводе?

Я, честно говоря, всегда использовал первый вариант, но последнее время всё чаще встречаю мнения, что в базе нужно хранить "чистый" текст.

Мог бы кто-нибудь рассказать о плюсах и минусах этих подходов?

Спасибо.
 

fog

Рыцарь Джедай
Может уже где-нибудь обсуждалось, или статьи есть какие-нибудь, может хоть посоветуешь что почитать?
 

Фанат

oncle terrible
Команда форума
вообще, конечно, однозначного решения нет.
Бывают случаи, когда хранить надо уже обработанный. Бывают - когда и тот и другой.
НО.
Если вот так, в общем задавать вопрос, то ответ - текст не портить!
потому, что его может понадобиться редактировать.
потому, что его не обязательно надо будет выводит в браузер.
потому, что какие-тио из замененных или удаленных элементов могут потом вдруг понадобиться.
Потому, что принцип такой. Лыжи одевать не дома на кухне, а когда в лес приехал.
Делать что-то только тогда, когда оно действительно нужно, а не заранее.
 

Фанат

oncle terrible
Команда форума
А это-то тут при чем?
я хотел привести в пример построчный файл со своими ограничениями, но потом не стал, ибо сказано же - "в базе".
 

fog

Рыцарь Джедай
lanka:
Спасибо. Просто тема такая, что даже не знал по каким ключевым словам в поиск идти :)

Только там я тоже не нашел "за" и "против", только "делай так".


Фанат:
На счёт отсутствия однозначного решения я согласен, мне тоже так изначально казалось. Просто, лично для себя не мог найти причины хранить в базе "чистый" текст

на самом деле, у меня всё хорошо редактируется, в базу ложится, из базы достаётся, редактируется и ложится обратно, таких проблем с прогрессией БРов как в приведённом треде у меня нет :)

Кроме как в браузере мне выводить данные нигде не надо, удалять я тоже ничего не удаляю, в крайнем случае, одной функцией всё назад пореплейсать можно.

я нашел только один плюс в хранении "чистого" текста в базе - можно сколько угодно переписывать функцию обработки текста при выводе, например в первой версии просто заменять nl на BR, через какое-то время дописать её так, чтобы она не заменяла nl на BR между тегами <table> и </table> и так далее.

в этом треде
http://phpclub.net/talk/showthread.php?s=&threadid=41312&rand=38
ты говорил, что мысли по этому поводу высказывал ещё n-лет назад, можно ли узнать где? Хотелось бы почитать!
 
Сверху