Общие сведения
xBB - написанная на PHP библиотека для работы с BBCode, которая является развитием библиотеки, описанной здесь.
xBB может быть использован в гостевых книгах, форумах, на досках объявлений и т.п. На этом сайте (http://www.pc.uz) поддержка BBCode в пользовательских комментариях реализована с помощью xBB. Данная документация целиком сверстана в BBCode и конвертирована в HTML с помощью xBB.
Парсер реализован несколько отлично от аналогов. Обычно такие парсеры реализуются с помощью регулярных выражений. Этот же использует метод конечных автоматов. Имеет следующий плюс: как бы ни была богата и продвинута коллекция тегов, поддерживаемая в данной реализации, скорость обработки текстов будет постоянной, так как осуществляется за фиксированное число проходов. Коллекцию тегов можно увеличивать до бесконечности, а скрипт будет выполняться одинаково быстро. Скорость его работы зависит только от величины текста и от числа тегов, используемых в конкретном тексте, но не от числа всех возможных тегов и вариантов их написания. Скрипт не парсит текст многократно для каждого тега или варианта написания тега.
В умолчальной поставке xBB поддерживает 41 тег, "автоматические ссылки", смайлы. Коллекция тегов и смайлов легко расширяема.
Теги имеют следующие особенности:
О задании наборов смайликов - смотрите главы "Быстрый старт" и "API".
Далее подробно описываются теги, поддержка которых реализована в xBB по умолчанию.
xBB может быть использован в гостевых книгах, форумах, на досках объявлений и т.п. На этом сайте (http://www.pc.uz) поддержка BBCode в пользовательских комментариях реализована с помощью xBB. Данная документация целиком сверстана в BBCode и конвертирована в HTML с помощью xBB.
Парсер реализован несколько отлично от аналогов. Обычно такие парсеры реализуются с помощью регулярных выражений. Этот же использует метод конечных автоматов. Имеет следующий плюс: как бы ни была богата и продвинута коллекция тегов, поддерживаемая в данной реализации, скорость обработки текстов будет постоянной, так как осуществляется за фиксированное число проходов. Коллекцию тегов можно увеличивать до бесконечности, а скрипт будет выполняться одинаково быстро. Скорость его работы зависит только от величины текста и от числа тегов, используемых в конкретном тексте, но не от числа всех возможных тегов и вариантов их написания. Скрипт не парсит текст многократно для каждого тега или варианта написания тега.
В умолчальной поставке xBB поддерживает 41 тег, "автоматические ссылки", смайлы. Коллекция тегов и смайлов легко расширяема.
Теги имеют следующие особенности:
- Названия тегов и атрибутов не зависят от регистра. Например,
[font=Arial size=+1], [FONT=Arial SIZE=+1] и [FoNt=Arial SiZe=+1]- равнозначно.
- Значения атрибутов могут быть закавычены "так" и 'так', либо никак не закавычены. Следующие конструкции равнозначны:
[google="BBCode"], [google='BBCode'], [google=BBCode].. Следующие конструкции НЕ равнозначны:[google="Поддержка BBCode"], [google=Поддержка BBCode]. Последний вариант будет интерпретирован скриптом как[google="Поддержка" BBCode=""].
- Теги могут быть вложенными. Но те из них, которые создают элементы блочного типа (такие как
[h1] или [table]), не могут быть вложены в строчные теги (такие как[i] или [color]). Строчные элементы закрываются, если начинается блочный. Эти ограничения обусловлены требованиями W3C.
- Теги должны быть правильно вложены. Неправильный код "
[b][i]текст[/b][/i]" будет интерпретирован скриптом как "[b][i]текст[/i][/b][/i]". Это ограничение также обусловлено требованием W3C.
- В данной реализации BBCode поддерживаются закрывающие теги вида
[/]. Такой тег закрывает последний незакрытый тег. Например,[b]текст[/b]равнозначно[b]текст[/]. Тем не менее рекомендую пользоваться именно первой формой написания.
Тогда, в случае нагромождения вложенных тегов, вам будет легче ориентроваться в коде. Кроме того, первая форма написания позволяет скрипту более корректно обрабатывать пользовательские ошибки.
- Поддерживается закрытие тега способом [тег /]. Например, конструкции
[url name=top][/url]и[url name=top /]равнозначны.
- В некоторых случаях можно не писать закрывающий тег. Например, тег
[tr](строка таблицы), будет автоматически закрыт, как только встретится очередной[tr]или закрывающий тег[/table]. Тег[hr]вообще не имеет закрывающего, интерпретируется скриптом как[hr/]. О поведении конкретных тегов смотрите их описания.
- При конвертации ББКода в HTML сохраняется форматирование пробелами. Т.е. все двойные пробелы переводятся в ' ', все переводы строк заменяются на '<br />'. Однако вокруг некоторых элементов (таких как
[h1]) игнорируются 1-2 перевода строк, так как эти элементы сами по себе создают дополнительные отступы. Это сделано для того, чтобы по возможности приблизить визуальное представление HTML к исходному ББкоду.
@l;b@r;. Поддерживаются мнемоники следующих спецсимволов:- Открывающая квадратная скобка '[' может быть мнемонизирована как
'@l;'.
- Закрывающая квадратная скобка ']' может быть мнемонизирована как
'@r;'.
- Двойная кавычка '"' может быть мнемонизирована как
'@q;'.
- Одинарная кавычка "'" (апостроф) может быть мнемонизирована как
'@a;'.
- Знак собачки '@' может быть мнемонизирован как
'@at;'.
[code], [nobb] и аналогичных. Автоматические ссылки могут быть отключены. Как это делается - смотрите главу об API.О задании наборов смайликов - смотрите главы "Быстрый старт" и "API".
Далее подробно описываются теги, поддержка которых реализована в xBB по умолчанию.
Скачать zip-архив со скриптом, тестами и набором смайликов можно здесь.
Сахифани кўриш статистикаси:
- бу ой (Октябр 2025) - 6;
- ўтган ой (Сентябр 2025) - 2;
- оxирги 3 ой (Июл 2025 - Сентябр 2025) - 3;
- оxирги йил (Октябр 2024 - Сентябр 2025) - 9;
Мақолалар ва шарҳлар Барча мақолалар
Теперь пользователи получают максимум технологий без переплат, что делает апгрейд ...
В статье разбираем, от чего зависит скорость зарядки смартфонов и ...
Узнайте, какие квесты в Ташкенте заинтересуют профессионалов в области IT ...
Разбираем структуру цены, скрытые расходы и реальные способы сэкономить при ...