Использование парсера BBCode на PHP. Быстрый старт

Наброски имеющие автора (ссылка обязательна+подпись)

Модераторы: Dame-danners, LieoLinneos, Longipongeoos

Аватар пользователя
Longipongeoos
Сообщений: 191
Зарегистрирован: 12 апр 2017, 16:50

Использование парсера BBCode на PHP. Быстрый старт

Сообщение Longipongeoos » 14 сен 2017, 09:56

Вывод текста
Класс, реализующий обработку ББКода, называется 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

Вернуться в «Авторские наброски / Outline More»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 1 гость