ОБСУЖДЕНИЕ

Опрос: Когда вы преобразуете BBCode ?

17 сообщений1 просмотровОткрыта
#1
Собственно в чем сабж...
Сущствует два варианта преобразования BB:
- Текст формируется при выводе (откуда либо, куда либо)
- Или наоборот при записи (куда либо)
Каким вариантом пользуетесь Вы и почему?
#2
Смотря какие. Если если итоговый результат длиннее чем начальный - то нет. Тут надо работать по принципу - меньше вес базы данных - лучше... А самый лучший вариант - в базе хранить с не обработанными BB кодами в связки с кешированием (Можно memcached, можно просто на файлах) где все действия с текстом будут выполнены и выводить из кеша...
#3
да вес то базы и не влияет почти на производительность)) тут влияет количество полей. т.е. Запрос к полю содержащему 1000кб "схавает" меньше чем запрос к 1000 полей весом по 1кб.
#4
записывается в оригинале, при выводе обрабатывается.
Причина: есть возможность редактировать сообщения, статьи и т.п + меньше хлама в БД соответственно для большего проекта это еще и экономия места
#5
Valen, Ну если уж проект большой то место тут выйдет дешевле ресурсов. Взять хотя бы соотношение цен на носители и те же оперативки.
#6
KpuTuK, за место это упомянул так, между прочим..
А так если нужно редактировать в дальнейшем тест, без излишнего извращения, тогда при выводе, если не предвидится возможность редактировки, тогда можешь выполнять обработку при запись. Меньше потребление ресурсов будет во 2 варианте, удобство - первый. В принципе, это не 90-x что бы думать о таком, сейчас серваки этот пережуют и не заметят, так что выбирай как те удобнее будет работать и не мучайся..
#7
а какие там извращенияво 2м? добавил тот же див bbcode и по нему уже в обратном порядке можно прассить для редактирования. а для себя я уже выбрал)) мне просто интересно сколько еще народу может собаку сьесть на этом.
#8
KpuTuK, "добавил тот же див bbcode и по нему уже в обратном порядке можно прассить для редактирования." - про эти вот извращения и говорю.. Особенно когда используешь визуальные редакторы)

Все таки не люблю извращаться, и потом ломать голову "Почему же оно не работает??!" потому все таки пишу в оригинале, а на выводе обрабатываю. Если говорить за количество потребляемых ресурсов при обработки, то тут 1-смотря как работает сама функция; 2 - как правило пабличным движка это здоровья не добавит, из-за их "Оптимизированного кода", а нормальным не убавит.

Так что как для меня, то вывод примерно такой: делай как требует проект, без лишнего изобретения велосипедов. А в общем дело вкуса)
#9
Не скажи, очень да же зависит. Я сейчас работаю на проекте с аудиторие около 3 000 000 человек. Там каждый запрос надо по максимуму оптимезировать...
#10
запрос! а мы обсуждали количество данных и обьем))
вот сам на локалке попробуй запиши базу 1000 записей весом в 1кб и в другую базу 1 запись весом в 1мб и выведи их))) разница бует конечно не ощутимая, но учитывая что снижение скорости будет пропорционально количеству те 10000 записей уже в 10 раз больше схавают нежели 1 запись в 10000кб
#11
там кода то на пару строк)))
1 та дык одна и таже функция только прассит наоборот.
2 оптимизированным как раз и вовред. взять тот же dle при правильной настройке + парочке плагинов в виде редиса ой как летает но кушает достаточно памяти.
#12
причем редирект к бб кодам?
На счет "Одна и таже функция.." смотря какие бб используеш, если пару дивов то норм, а если таблицы, какие то значения стилей которые задаются пользовательскими параметрами, то поверь, не все так просто как те кажется) Когда то уже возился с этим.
#13
Valen, Какой редирект?
да все функции впринципе ограниченны лишь мозгами)) да и если на 5% снизица поребление ресурсов то игра стоит свеч))
#14
KpuTuK, ну в общем как говорится "Флаг в руки"
Нравится тебе извращаться - на здоровье)
#15
Я извиняюсь, а когда обратная совместимость стала извращением????
CODE

if ($revers) {
    return str_replace(
        array_keys($array), 
        array_values($array),
        $str
     );
}
return str_replace(
    array_values($array), 
    array_keys($array),
    $str
);


Разве это извращение???
#16
как будет выглядеть например такое (ниже см.) в твоей функции

$message = preg_replace('#\[img width=(.*?),height=(.*?)\](.*?)\[/img\]#si', '<img src="\3" width="\1" height="\2"', $message);
#17
<img src="(.*?)" width="(.*?)" height="(.*?)"'
соответственно)))