Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Подумалось мне почему бы не хранить вместо текста в базе, его структуру в виде json строки:
{"tag":"ROOT","def":null,"attr":null,"children":[{"tag":"b","def":null,"attr":null,"children":[{"tag":"TEXT","text":"Жирненько"}]},{"tag":"TEXT","text":"Просто текст"}]}
Структура получается такая:
[
'tag' => 'ROOT',
'def' => null,
'attr' => null,
'children' => [
0 => [
'tag' => 'b',
'def' => null,
'attr' => null,
'children' => [
0 => [
'tag' => 'TEXT',
'text' => 'Жирненько',
]
],
],
1 => [
'tag' => 'TEXT',
'text' => 'Просто текст',
],
]
]
А исходный текст такой:
[b]Жирненько[/b]Просто текст
В результате при отображении темы останется пробежать по структуре и отобразить html обвес для тегов и ни какого парсинга в момент отображения.
При изменении вида отображаемых тегов, сообщения так же меняются.
Парсинг нужен только при сохранении сообщения и редактировании.
P.S. Смайлы только распарсить в картинки придется.
Редактировался Visman (2016-08-30 19:13:54)
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Хорошая задумка, какие сейчас успехи?
Offline
@lakki, 3 или 4 варианта написано. Ни один до ума не довел. Сейчас занят делами домашними.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Парсер (вариант который дописал) выложил тут https://github.com/MioVisman/Parserus
Это не готовое решение для форума, это отдельный модуль для парсинга текстов с бб-кодами.
Парсер не только выводит текст в виде html, но и проверяет/исправляет/дополняет введенный текст.
Примеры там же в wiki и в папке examples.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline