@pavelkolodin

BB-коды хранятся в базе и HTML генерится по ним при каждом запросе или хранится HTML?

Как дорого на PHP формировать HTML-код по простым BB-кодам (B, I, U, S, URL, IMG, QUOTE)? Сколько среднестатистических форумных постов в секунду можно сконвертить в HTML на среднестатистическом современном 1-ядерном виртуальном хостинге, без использования кешей готового HTML? У кого есть статистика решений: всегда ли хранят BB-код в базе? Есть ли решения, где BB-код парсят при посте, забывают BB-код и хранят только HTML? Есть ли решения допарсивания BB-кода на яваскрипте клиента - круто ли оно, ущербно ли оно?

Всегда думал, что в базе хранят BB-код, на лету рендерят HTML, а в тяжёлые времена юзают какой-нибудь мемкеш, пока не рассказали про форумный движок, где BB-код забывают после постинга и потом хранят только HTML.
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 3
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Здесь можно выделить, в целом, три подхода:
1. Хранить в базе исходник и формировать на лету
2. Кешировать обработанный текст при каждом изменении. Например, в соседнем поле в записи БД или в любом виде кеша.
3. Хранить только обработанный текст. Подходит, если он никогда не изменяется после вставки.

По поводу преобразования - зависит от объёмов. Обычные посты на среднестатистическом форуме, например, преобразовывать на лету не особо чтобы дорого. А если у вас там огромные простыни - тогда можно и покешировать (либо единоразово преобразовать, когда менять не нужно).
Ответ написан
Комментировать
@karminski
Senior React.JS Developer
О боже! Вы всё ещё используете BB-коды??? Пора бы уже перейти на Markdown.
А по сабжу вам хорошо ответил Алексей Скобкин
Ответ написан
trevoga_su
@trevoga_su
рассказали про форумный движок, где BB-код забывают после постинга и потом хранят только HTML.
явно бредовая идея
- отсутствие возможности редактирования постов
- отсутствие возможности внедрить иное форматирование для постов с ВВ кодом
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы