Декабрь 19, 2019 Просмотры 33 просмотра

xBB v. 0.24 - PHP-библиотека для работы с BBCode. Часть 2. Список тегов

  1. Общие сведения
  2. Список тегов
  3. Быстрый старт
  4. API
  5. Применение CSS
  6. Условия использования и инсталляция

Список тегов

  1. [*] - элемент списка. Аналог HTML-ного <li>. Может содержаться только в теге [list]. Автоматически закрывается, если начинается очередной [*] или если закрывается [list]. При конвертации переводится в <li class="bb">. Может использоваться в форме [*=целое_число], что эквивалентно <li class="bb" value="целое_число">. Целое число здесь - номер (возможно, переведенный в букву) текущего элемента списка. Смотрите примеры в описании [list].

  2. [a] - ссылка. Аналог HTML-ного <a>. Поддерживаются атрибуты title, id (для создания якорей), name (фактически - синоним для id), href и target, аналогичные HTML-ным. Кроме того, поддерживаются атрибуты url (синоним для href) и anchor (синоним для id). Тег [a] может быть использован в следующих формах:

    Код Пример Результат
    [a]адрес_ссылки[/a] [a target=_blank]www.pc.uz[/a] www.pc.uz
    [a=адрес_ссылки]текст ссылки[/a] [a=forum.pc.uz title="Хороший форум"]Форум PC.UZ[/a] Форум PC.UZ
    [a href=адрес_ссылки]текст ссылки[/a] [a href=service.pc.uz]Сервис-центр[/a] Сервис-центр
    [a url=адрес_ссылки]текст ссылки[/a] [a url=restoran.uz]Рестораны Ташкента[/a] Рестораны Ташкента

    Если адрес ссылки не начинается с одной из следующих строк - 'http://', 'https://', 'ftp://', 'file://', '#', '/', '?', './', '../' или 'mailto:', то слева к нему автоматом допишется 'http://'.

    Код [a id=this /], [a name=this /] или [a anchor=this /] создаст якорь в документе. Если имя якоря не начинается с латинской буквы (как того требует W3C), к нему в начало будет дописано 'bb'.

  3. [abbr] - аббревиатура. Эквивалент HTML-ного <abbr class="bb">. Может использоваться в форме [abbr="расшифровка аббревиатуры"], что эквивалентно <abbr class="bb" title="расшифровка аббревиатуры">.

    Пример: [abbr="PHP: Hypertext Preprocessor"]PHP[/abbr]. Результат: PHP.

  4. [acronym] - акроним. Эквивалент HTML-ного <acronym class="bb">. Может использоваться в форме [acronym="расшифровка акронима"], что эквивалентно <acronym class="bb" title="расшифровка акронима">.

    Пример: [acronym="Хранимая процедура"]хранимка[/acronym]. Результат: хранимка.

  5. [address] - контактная информация. Эквивалент HTML-ного <address class="bb">.

    Пример: [address]Узбекистан, г. Ташкент[/address]. Результат:

    Узбекистан, г. Ташкент
  6. [align] - выравниване текста по левому ([align=left]), правому ([align=right]) краю, по центру ([align=center]) или по ширине ([align=justify]). При конвертации переводится в <div class="bb" align="...">.

    Пример: [align=right]Текст, выровненный по правому краю.[/align]. Результат:

    Текст, выровненный по правому краю.
  7. [anchor] - якорь в документе. Может использоваться в следующих формах:

    Код Эквивалент в HTML
    [anchor]имя[/anchor] <a id="имя"></a>
    [anchor=имя /] <a id="имя"></a>
    [anchor=имя]текст[/anchor] <a id="имя">текст</a>

    Если имя якоря не начинается с латинской буквы (как того требует W3C), к нему в начало будет дописано 'bb'.

  8. [b] - жирный шрифт. Эквивалент HTML-ного <strong>.

    Пример: "[b]текст[/b]". Результат: "текст".

  9. [bbcode] - тег для подсветки ББКода. Внутри [bbcode] теги BBCode, смайлики, и "автоматические ссылки" не транслируются в HTML, а посвечиваются. Пример:

    [bbcode]
    В содержимом тега [bbcode] можно использовать мнемонизацию спецсимволов, чтобы исключить неоднозначную трактовку вложенности тегов. Например, неоднозначность "[bbcode] [/bbcode] [/bbcode]" можно исключить, написав "[bbcode] @l;/bbcode@r; [/bbcode]". Если же вам надо вывести собственно мнемонику какого-то спецсимвола, то она сама должна быть мнемонизирована. То есть, чтобы вывести '@l;', нужно набрать '@at;l;'.
    [/bbcode]

    Результат:

    В содержимом тега [bbcode] можно использовать мнемонизацию спецсимволов, чтобы исключить неоднозначную трактовку вложенности тегов. Например, неоднозначность "[bbcode] [/bbcode] [/bbcode]" можно исключить, написав "[bbcode] @l;/bbcode@r; [/bbcode]". Если же вам надо вывести собственно мнемонику какого-то спецсимвола, то она сама должна быть мнемонизирована. То есть, чтобы вывести '@l;', нужно набрать '@at;l;'.

  10. [caption] - заголовок таблицы. Эквивалент HTML-ного <caption class="bb">. Может содержаться только в теге [table]. Смотрите пример в описании [table].

  11. [center] - сокращение для [align=center].
    Пример: [center]Текст, выровненный по центру[/center].
    Результат:
    Текст, выровненный по центру
  12. [code] - тег для программных кодов, кодов разметки и т.п. Эквивалент HTML-ного <code class="bb">. Внутри [code] игнорируются ББ-теги и смайлики, не работают "автоматические ссылки". Пример:

    [code]
    // Класс для тега @l;code@r;
    class bb_code extends bbcode {
        var $ends = array();
        var $children = array();
        function get_html() {
            $str = '<code class="bb">';
            foreach ($this -> tree as $item) {
                if ('item' == $item['type']) { continue; }
                $str .= htmlspecialchars($item['str']);
            }
            $str .= '</code>';
            return str_replace('  ', '&nbsp;&nbsp;', nl2br($str));
        }
    }
    [/code]

    Результат:

    // Класс для тега [code]
    class bb_code extends bbcode {
        var $ends = array();
        var $children = array();
        function get_html() {
            $str = '<code class="bb">';
            foreach ($this -> tree as $item) {
                if ('item' == $item['type']) { continue; }
                $str .= htmlspecialchars($item['str']);
            }
            $str .= '</code>';
            return str_replace('  ', '&nbsp;&nbsp;', nl2br($str));
        }
    }
  13. [color] - тег для цветового выделения текста. При конвертации переводится в <font color="...">.

    Пример: "[color=red]текст[/color]". Результат: "текст".

  14. [email] - тег для создания гиперссылки e-mail. При конвертации переводится в <a class="bb_email" href="mailto:...">...</a>. Поддерживает также атрибуты title, name и target, аналогичные соответствующим в HTML. Примеры:

    Код Результат
    [email]dima@pc.uz[/email]
    dima@pc.uz
    [email=dima@pc.uz title="Мой ящик"]Мой ящик[/email] Мой ящик
  15. [font] - указать шрифт. Аналог HTML-ного <font>. Поддерживает также атрибуты color и size. Примеры:

    Код Результат
    [font=Arial]текст[/font] текст
    [font=Verdana color=red size=+2]текст[/font] текст
  16. [google] - тег для создания ссылки на Google. При конвертации переводится в <a class="bb_google" href="http://www.google.com/search?q=Запрос">. Поддерживает также атрибуты title, name и target.

    Пример: "[google=BBCode target=_blank]Спроси Гугл про ББКод[/google]". Результат: "Спроси Гугл про ББКод".

  17. [h1] - аналог HTML-ного <h1>. При конвертации переводится в <h1 class="bb">. Поддерживает атрибут align.
    Пример: [h1 align=center]Заголовок 1[/h1]. Результат:

    Заголовок 1

  18. [h2] - аналог HTML-ного <h2>. При конвертации переводится в <h2 class="bb">. Поддерживает атрибут align.
    Пример: [h2 align=center]Заголовок 2[/h2]. Результат:

    Заголовок 2

  19. [h3] - аналог HTML-ного <h3>. При конвертации переводится в <h3 class="bb">. Поддерживает атрибут align.
    Пример: [h3 align=center]Заголовок 3[/h3]. Результат:

    Заголовок 3

  20. [hr] - аналог HTML-ного <hr>. При конвертации переводится в <hr class="bb" />. Пример: [hr]. Результат:


  21. [i] - аналог HTML-ного <i>. Пример: "[i]текст[/i]". Результат: "текст".

  22. [img] - аналог HTML-ного <img>. Поддерживает атрибуты width, height и border. Примеры:

    Код Результат
    [img]http://www.pc.uz/files/images/pcuz_1.gif[/img]  
    [img width=116 height=22]http://www.pc.uz/files/images/pcuz_1.gif[/img]  
  23. [justify] - сокращение для [align=justify].

    Пример:
    [justify]Выровнять текст по ширине (как в этом абзаце) можно с помощью тега @l;align=justify@r; или с помощью тега @l;justify@r;. Этот тег эквивалентен [b]<div class="bb" align="justify">[/b] в HTML. Помимо выравнивания по ширине возможно также выравнивание по левому краю (тег @l;left@r; или @l;align=left@r;), по правому краю (тег @l;right@r; или @l;align=right@r;) и по центру (тег @l;center@r; или @l;align=center@r;).[/justify].

    Результат:
    Выровнять текст по ширине (как в этом абзаце) можно с помощью тега [align=justify] или с помощью тега [justify]. Этот тег эквивалентен <div class="bb" align="justify"> в HTML. Помимо выравнивания по ширине возможно также выравнивание по левому краю (тег [left] или [align=left]), по правому краю (тег [right] или [align=right]) и по центру (тег [center] или [align=center]).
  24. [left] - сокращение для [align=left]. Пример: [left]Текст, выровненный по левому краю.[/left].

    Результат:
    Текст, выровненный по левому краю.
  25. [list] - тег для создания списка. Аналог HTML-ных <ul> и <ol>. При конвертации переводится в <ul class="bb"> или в <ol class="bb" type="...">. Единственный вложенный тег - [*], который в свою очередь может иметь вложенные теги. Примеры:

    Код Результат Код Результат Код Результат
    [list]
    [*]Раз
    [*]Два
    [*]Три
    [/list]
    • Раз
    • Два
    • Три
    [list=1]
    [*]Раз
    [*=3]Два
    [*]Три
    [/list]
    1. Раз
    2. Два
    3. Три
    [list=a]
    [*=5]Раз
    [*]Два
    [*]Три
    [/list]
    1. Раз
    2. Два
    3. Три
  26. [nobb] - тег, внутри которого не происходит конвертации ББКода в HTML, не работают "автоматические ссылки" и не вставляются смайлы.
    Пример: "[nobb][b]ББКод[/b] со смайлом :)[/nobb]". Результат: "[b]ББКод[/b] со смайлом :)".

    Должен предупредить, что неоднозначность во вложенности тегов может привести к неожидавшимся результатам.
    Например, код
    [nobb] текст1 [/nobb] текст2 [/nobb]
    будет интерпретирован скриптом так:
    [nobb] текст1 [/nobb] текст2 [/nobb]
    Код
    [b] текст1 [nobb] текст2 [/b] текст3 [/nobb] текст4 [/b]
    будет интерпретирован скриптом так:
    [b] текст1 [nobb] текст2 [/nobb][/b] текст3 [/nobb] текст4 [/b]
    Чтобы такого избежать, пользуйтесь мнемониками спецсимволов.

  27. [php] - тег, подсвечивающий код PHP. При конвертации посвеченный код вставляется в <div class="php">.
    Пример:
    [php]<?php
    // Класс для тега @l;php@r;
    class bb_php extends bbcode {
        var $ends = array();
        var $children = array();
        function get_html() {
            $str = '';
            foreach ($this -> tree as $item) {
                if ('text' == $item['type']) { $str .= $item['str']; }
            }
            if (false !== strpos($str, '<?')) {
                $str = highlight_string($str, true);
            } else {
                $str = '<?php '.$str.' ?>';
                $str = highlight_string($str, true);
                $str = str_replace('&lt;?php ', '', $str);
                $str = str_replace('&lt;?php&nbsp;', '', $str);
                $str = str_replace('>?&gt;<', '><', $str);
            }
            $str = preg_replace("'<span [^>]*></span>'si", '', $str);
            return '<div class="php">'.$str.'</div>';
        }
    }
    ?>[/php]
    Результат:
    <?php
    // Класс для тега [php]
    class bb_php extends bbcode {
        var 
    $ends = array();
        var 
    $children = array();
        function 
    get_html() {
            
    $str '';
            foreach (
    $this -> tree as $item) {
                if (
    'text' == $item['type']) { $str .= $item['str']; }
            }
            if (
    false !== strpos($str'<?')) {
                
    $str highlight_string($strtrue);
            } else {
                
    $str '<?php '.$str.' ?>';
                
    $str highlight_string($strtrue);
                
    $str str_replace('&lt;?php '''$str);
                
    $str str_replace('&lt;?php&nbsp;'''$str);
                
    $str str_replace('>?&gt;<''><'$str);
            }
            
    $str preg_replace("'<span [^>]*></span>'si"''$str);
            return 
    '<div class="php">'.$str.'</div>';
        }
    }
    ?>
  28. [quote] - Цитата. При конвертации конструкция [quote=Автор]текст[/quote] переводится в

    <div class="bb_quote_author">Автор</div><div class="bb_quote">текст</div>

    Вот так это выглядит:

    Автор
    текст

    Автора указывать необязательно.
    Визуальное оформление цитат следует делать с помощью CSS. Вот пример такого оформления:

    div.bb_quote_author {
        margin: 10px 5px 0px 5px;
        padding: 4px;
        border-width: 1px 1px 0px 1px;
        border-style: solid;
        border-color: #a9b8c2;
        color: #333333;
        background-color: #a9b8c2;
        font-size: 0.85em;
        font-weight: bold;
    }
    div.bb_quote_author:after {
        content: " писал(а):";
    }
    div.bb_quote {
        margin: 0px 5px 10px 5px;
        padding: 5px;
        border-color: #a9b8c2;
        border-width: 0px 1px 1px 1px;
        border-style: solid;
        font-family: "Lucida Grande", "Trebuchet MS", Helvetica, Arial, sans-serif;
        background-color: #fafafa;
        color: #4b5c77;
    }
  29. [right] - сокращение для [align=right]. Пример: [right]Текст, выровненный по правому краю.[/right].

    Результат:
    Текст, выровненный по правому краю.
  30. [s] - зачеркнутый текст. Аналог HTML-ного <del>. Пример: "[s]текст[/s]". Результат: "текст".

  31. [size] - тег для изменения размера шрифта. При конвертации переводится в <font size="...">. Пример: "[size=6]текст[/size]". Результат: "текст".

  32. [strike] - синоним для [s]. Пример: "[strike]текст[/strike]". Результат: "текст".

  33. [sub] - нижний индекс. Аналог HTML-ного <sub>. Пример: "[sub]текст[/sub]". Результат: "текст".

  34. [sup] - верхний индекс. Аналог HTML-ного <sup>. Пример: "[sup]текст[/sup]". Результат: "текст".

  35. [table] - таблица. Аналог HTML-ного <table>. При конвертации переводится в <table class="bb">. Поддерживаются атрибуты border, width, cellspacing, cellpadding и align, аналогичные

Просмотры 33 просмотра

Статистика просмотров страницы:

  • за текущий месяц (Апрель 2024) - 3;
  • за прошлый месяц (Март 2024) - 6;
  • за последние 3 месяца (Январь 2024 - Март 2024) - 10;
  • за последний год (Апрель 2023 - Март 2024) - 13;

Отзывы

Админ
Отлично!
Март 28 Админ

Статьи и обзоры Все статьи

Будущее маркетинговых исследований в контексте быстро развивающихся технологий.
Как тайные покупатели помогают компаниям оценить качество обслуживания, выявить проблемные ...
GT & Industrial Systems, LP, действующая в Узбекистане через зарегистрированное ...
В начале 2000-х мир киберспорта переживал свою золотую эпоху, а ...