Конвертор BB-тегов

Оглавление

1. Введение
2. Список методов
3. Спецификация предустановленных bb-тегов
4. Примеры использования



Введение #
К оглавлению

Для работы с псевдоразметкой пользовательских сообщений, в фреймворке предусмотрен сервис BB. Вызывается, как и все остальные:
1
2
3

    $bb 
Abc::newService(ABC::BB_DECODER);




Имеет некоторые настройки, которые доступны в любом конфигурационном файле:
1
2
3
4
5
6
7

        
'bb_code' => [
                        
'max_len' => 74// Максимальная длина слова 
                        
'links'   => false// Запретить тег [URL]
                        
'images'  => false// Запретить тег [IMG]
        
],




Сервис предоставляет следующие публичные методы #
К оглавлению

1 convert() Конвертирует псевдоразметку в HTML
2 stripBBtags() Удаляет из текста bb-псевдоразметку


convert() public method
К списку методов

Конвертирует псевдоразметку в HTML

Этот метод преобразует псевдоразметку bb-тегами в HTML разметку. Список предустановленных bb-кодов можно посмотреть в спецификации.

Кроме того, заменяет спецсимволы переноса строки на теги <br />, и обрабатывает исходный текст функцией htmlspecialchars().

public BbDecoder::convert ( $text )
$text string Обрабатываемый текст.
return string Обработанный текст




stripBBtags() public method
К списку методов

Удаляет из текста bb-псевдоразметку.

Очищает текст от предустановленных bb-тегов.

public BbDecoder::stripBBtags ( $text )
$text string Обрабатываемый текст.
return string Обработанный текст


Спецификация предустановленных bb-тегов #
К оглавлению

Общие
1 [b]жирный[/b] жирный
2 [i]наклонный[/i] наклонный
3 [s]зачеркнутый[/s] зачеркнутый
4 [u]подчеркнутый[/u] подчеркнутый
5 верхний [sup]индекс[/sup] верхний индекс
6 нижний [sub]индекс[/sub] нижний индекс
7 [justify]выравнивание по ширине[/justify]

выравнивание по ширине

8 [left]по левому краю[/left]

по левому краю

9 [right]по правому краю[/right]

по правому краю

10 [center]по центру[/center]

по центру

16 [h=5]заголовок h5[/h=5]
заголовок h5
17 [h=4]заголовок h4[/h=4]

заголовок h4

18 [h=3]заголовок h3[/h=3]

заголовок h3

19 [h=2]заголовок h2[/h=2]

заголовок h2

20 [h=1]заголовок h1[/h=1]

заголовок h1



Шрифт:
1 [size=1]размер шрифта 11px[/size=1] размер шрифта 11px
2 [size=2]размер шрифта 14px[/size=2] размер шрифта 14px
3 [size=3]размер шрифта 18px[/size=3] размер шрифта 18px
4 [size=4]размер шрифта 24px[/size=4] размер шрифта 24px
5 [size=5]размер шрифта 32px[/size=5] размер шрифта 32px
6 [color=gray]серый[/color=gray] серый
7 [color=green]зеленый/color=green] зеленый
8 [color=purple]пурпурный[/color=purple] пурпурный
9 [color=olive]оливковый[/color=olive] оливковый
10 [color=silver]серебряный[/color=silver] серебряный
11 [color=aqua]бирюзовый[/color=aqua] бирюзовый
12 [color=yellow]желтый[/color=yellow] желтый
13 [color=blue]синий[/color=blue] синий
14 [color=orange]оранжевый[/color=orange] оранжевый
15 [color=red]красный[/color=red] красный


Списки
1 [list=ol]список OL[/list=ol]
  1. список OL
2 [list=ul]список UL[/list=ul]
  • список UL
3 [*]пункт списка LI[/*]


Внешние данные:

1 [url]http://abc-framework.ru[/url] http://abc-framework.ru
2 [url=http://abc-framework.ru/]ABC-framework[/url] ABC-framework
3 [img]http://abc-framework.ru/logo.gif[/img]
4 [img=left|right|center]http://abc-framework.ru/logo.gif[/img]


Смайлики:
1 [:)]
2 [:(]
3 [;)]
4 [%)]


Дополнительно:
11 [quote]цитируемый текст[/quote] Цитата:
цитируемый текст
Класс CSS - "bb_quote"


Пример использования #
К оглавлению

1
2
3
4
5
6
7
8
9
10
11
12

    $bb 
ABC::newService(ABC::BB_DECODER);

    
$text POST('text');
    
$check $bb->stripBBtags($text);  

    if (!empty(
$check)) {  
        echo 
$bb->convert($text);  
    } else {  
        echo 
'Нет текста';  
    }