Класс, реализующий обработку ББКода, называется bbcode. Вот пример использования этого класса в PHP-коде:
Код: Выбрать все
$text = '[b]Переменная с текстом BBCode: [i]Hello world![/i][/b]';
// Подключаем библиотеку с классом
require_once 'ваш/путь/bbcode.lib.php';
// Создаем объект и распарсиваем $text
$bb = new bbcode($text);
// Конвертируем BBCode в HTML и выводим его
echo $bb -> get_html();
Все достаточно просто. При инициализации объекта ему передается текст, содержащий BBCode. Метод get_html возвращает текст HTML, конвертированный из BBCode. Следующий пример демонстрирует, как можно обработать последовательность текстов BBCode:
Код: Выбрать все
$list = array(
'Первый текст с [b]ББКодом[/b]',
'Второй текст с [i]ББКодом[/i]'
);
// Подключаем библиотеку с классом
require_once 'ваш/путь/bbcode.lib.php';
// Создаем объект
$bb = new bbcode;
// В цикле парсим ББКод и выводим HTML
foreach ($list as $val) {
$bb -> parse($val);
echo $bb -> get_html() . '<br />';
}
В этом примере текст BBCode обрабатывается не при инициализации объекта, а путем вызова специального метода parse.
Для работы со смайликами в классе bbcode предусмотрено свойство mnemonics, которое является массивом и должно содержать пары
'мнемоника' => 'ее замена'
Например: ':)' => '<img src="ulibka.gif" alt="Улыбка" />'
Если вас не устраивает набор смайликов, установленный по умолчанию, вы можете задать свой. Для этого сформируйте массив замен и положите его в mnemonics. Тогда ваши смайлики будут обрабатываться. Смайлики не будут вставляться в содержимое тегов [bbcode],
Код: Выбрать все
,
[i]Пример PHP-кода, устанавливающего набор смайликов[/i]
[code][nobb], [php] и т.п..
$text = 'Переменная [b]BBCode[/b] со смайликами: :) :D';
// Формируем список смайликов:
$smiles = array(
':)' => '<img src="images/smilies/2.gif" alt="Well" />',
':D' => '<img src="images/smilies/1.gif" alt="Very we!" />'
);
// Подключаем библиотеку с классом
require_once 'ваш/путь/bbcode.lib.php';
// Создаем объект и парсим $text
$bb = new bbcode($text);
// Задаем набор смайликов
$bb -> mnemonics = $smiles;
// Конвертируем BBCode в HTML и выводим его
echo $bb -> get_html();
Источник: http://xbb.uz/docs/start.bb