Xwab
Форумыnavigate_nextПрограммирование на PHP

Схема парсинга ББ-кодов и еtс
Сообщения
djpasica

1) Не знаю ново ли... парсим текст на ББ перед добавлением в БД, ББ-Коды заменяем ХТМЛем... При редактированию текста - парсим наоборот: хтмл в бб-код
Плюсы схемы: не надо каждый раз парсить текст на бб-коды, но надо при редактированию...

2) Стандартная. Парсим текст при каждом выводе...

И так мега-кодеры что лучше?)))

24 Ноя 2010, 21:20
Fuelen

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

24 Ноя 2010, 21:29
Fashion

оба варианта не есть гуд.
Создаем 2 поля в табле с постами: text и text_edit.
После написания или редактирования поста парсим ббшками текст,и записуем его в text_edit.
Вывод:
При редактировании поста - поле text
При чтении поста - text_edit

24 Ноя 2010, 21:43
Fuelen

Fashion, у меня тож такой вариант был)

24 Ноя 2010, 22:00
djpasica

3, тож вариант, но и внем есть минусы
1) табличка наберет весу +20%
2) т.к сказал Фулеан, ломаем БД, пихаем в text_edit код-фрейма и льем себе фри траф

24 Ноя 2010, 22:00
djpasica

2, тогда выходит что правило "вырезать все перед добавлением в БД" УГ?

24 Ноя 2010, 22:01
idarvel

№3 при таком раскладе базу нужно безразмерную.
скорее всего второй вариант с кешированием самое то.

24 Ноя 2010, 22:18
OZ_

Модель должна быть отделена от реализации. В базе данных должен хранится текст (таким, как его вводит пользователь), а не представление текста (распарсенные теги).

Кэшировать нужно не парсинг тегов (это копеечное время), а запросы к базе данных - это не только экономит заметное время, но и снижает общую нагрузку на БД.

24 Ноя 2010, 22:23
Fashion

djpasica, если кто-то поломает бд, он будет хакать юзверей через xss? не смешно?
idarvel, а это не есть кеширование?

24 Ноя 2010, 22:29
djpasica

Fashion, ну почему... обычно пассы хранятся в хеше... + почему сразу ломать, траф можно сливать иль еще чет придумать...

24 Ноя 2010, 22:34
Ответить на тему