Специальные символьные конструкции для разметки текста - BBcode - называются по имени движка phpBB, в котором были реализованы. Идея оказалась настолько удачной, что ее переняли разработчики других движков. Сегодня я расскажу об использовании BBcode в движке SMF (Simple Machines Forum) версии 1.1RC2.
Без параметров. Текст между тегами может содержать другие теги.
Необрабатываемый параметр. Текст между тегами может содержать
другие теги.
Обрабатываемый параметр. Текст между тегами может содержать другие теги.
Без параметров. Текст между тегами может содержать любой текст - он не обрабатывается.
Одиночный тег без параметров.
Необрабатываемый параметр-список. Текст между тегами может содержать другие теги.
Необрабатываемый параметр-список. Текст между тегами может содержать любой текст - он не обрабатывается.
Необрабатываемый параметр. Текст между тегами может содержать любой текст -
он не обрабатывается.
Необрабатываемый текст может содержать конструкции, похожие на BBcode, но не обрабатываемые движком.
Также теги могут иметь дополнительные именованные параметры.
Теги, поддерживаемые SMF 1.1 RC2.
Свойства текста.
Задание цвета
black, blue, green, red, white - Парные теги, без параметров. Могут содержать другие теги.
color - Парный тег. Один параметр - цвет: слово или #rrggbb (как в HTML). Может содержать другие теги.
Внешний вид. Базовые свойства шрифта.
Парные теги, без параметров. Могут содержать другие теги.
b
- жирный (bold)
i
- курсив (italic)
u
- подчеркнутый (underline)
s
- зачеркнутый (strict)
sub
- нижний индекс (subscript)
sup
- верхний индекс (superscript)
Внешний вид. Строчные.
Парные теги. Могут содержать другие теги.
abbr
- аббревиатура, текст с пояснением в виде всплывающей подсказки. Параметр - всплывающий текст.
acronym
- акроним. Аналог abbr.
move
- двигающийся текст (marquee)
tt
- моноширинный (teletyped)
grow
- спецэффект с подсветкой символов. Параметр списочный: цвет,strength.
shadow
- спецэффект с тенью. Параметр списочный: цвет,положение_тени. Положение тени задается словами left, right, top, bottom или в градусах. Реально же есть всего 5 градаций: <50, <100, <190, <280 и >=280.
move, grow и shadow по-разному работают в разных браузерах. Лучше их не применять.
Выравнивание текста.
Парные теги, без параметров. Могут содержать другие теги.
left
- выравнивание текста по левому краю
center
- выравнивание текста по центру
right
- выравнивание текста по правому краю
justify
- выравнивание текста по обоим краям (в официальном релизе отсутствует - реализован на forum.shelek.com)
Управление шрифтами.
Парные теги.
font
- задает тип (или имя) шрифта. Можно задать списком - используется первый поддерживаемый.
size
- задает размер шрифта числом, числом с указанием единицы измерения (pt и px) или словом (как в CSS).
Так как браузеры по-разному обрабатывают размер шрифта, заданный без указания единицы измерения, то лучше будет всегда укзывать единицу.
Направление текста.
Парные теги, без параметров. Могут содержать другие теги.
ltr
- слева направо
rtl
- справа налево
rtl поддерживается только для языков,
которые пишутся справа налево.
Блочные теги.
Простые блоки.
code
- блок исходного кода. Если код - php (содержит <?php ?>), то выполняется автоматическая встроенная в php подсветка. Текст между тегами не обрабатывается.
Необязательный параметер просто копируется в заголовок блока.
php
- аналог code. Текст изначально считается php-кодом.
pre
- форматированный текст. Выводится моноширинным шрифтом. Сохраняются все пробелы. Может содержать другие теги.
html
- блок для чистого html-кода. Текст между тегами не обрабатывается.
me
- блок, оформленный согласно CSS-классу "meaction". Имеет один параметр, подставляемый в начало текста. Может содержать другие теги.
nobbc
- блок, внутри которого текст не обрабатывается.
quote
- цитирование. Может содержать другие теги. Имеет необязательные параметры (но устанавливаться должны все сразу):
'author' - текст - 1..192
любых символа, кроме символов "<" и ">"
'link' - ссылка одного из следующих форматов: [board=НОМЕР;]topic=НОМЕР[.msgНОМЕР#msgНОМЕР][;start=НОМЕР] [board=НОМЕР;]action=profile;u=НОМЕР
'date' - время в формате unix timestamp
Списки.
list
- Задает список. Может содержать только теги li. В параметре type можно указать внешний вид списка: none, disc, circle, square, decimal, decimal-leading-zero, lower-roman, upper-roman, lower-alpha, upper-alpha, lower-greek, lower-latin, upper-latin, hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana, hiragana-iroha, katakana-iroha.
li
- элемент списка. Может содержать другие теги.
Таблицы.
table
- таблица. Может содержать только теги tr. Границы ячеек и таблицы не отображаются.
tr
- строка таблицы. Допустим только внутри table. Может содержать только теги td.
td
- ячейка таблицы. Допустим только внутри tr. Может содержать другие теги.
Ссылки.
anchor
- якорь (точка, на которую можно ссылаться). Имеет один параметр: идентификатор, начинающийся с латинской буквы и содержащий латинские буквы, арабские цифры, знаки '_' и '-'. В начале идентификатора может стоять символ '#'. Может содержать другие теги.
email
- ссылка на почту (mailto:). E-mail
передается в параметре, иначе - используется текст между открывающим и закрывающим тегами. Может содержать другие теги.
ftp
- ссылка на ftp. Работает аналогично email.
url
- общая ссылка. Работает аналогично email. Текст между тегами не обрабатывается.
flash
- flash-объект. Параметры аналогичны параметрам email. Текст между тегами не обрабатывается.
img
- картинка. Ссылка задается между открывающим и закрывающим тегами. Текст между тегами не обрабатывается. Имеет необязательные параметры:
alt - текст, отображаеммый при отключенных картинках
width - ширина
height - высота
iurl
- ссылка. URL задается между тегами либо параметром. В первом случае текст между тегами не обрабатывается. В последнем случае можно написать идентификатор, заданный в anchor и начинающийся с символа '#'.
Прочие.
br
- принудительный перевод строки. Одиночный тег без параметров.
hr
- горизонтальная линия. Одиночный тег без параметров.
time
- выводит сформатированную дату. Обязательный параметер - время формата unix timestamp. Текст между тегами не обрабатывается.
Данная статья написана в редакторе SMF и сформатированна с использованием BBcodes.