Блог Горошко Андрея 1C-Битрикс Правильное использование BB кода в 1С-Битрикс

Правильное использование BB кода в 1С-Битрикс

В 1С-Битрикс BB код используется для форматирования текста в различных модулях, таких как форумы, задачи, блоги и комментарии. Для его обработки используется класс CTextParser.

Вот несколько основных правил использования BB кода:

1. Форматы:

  • [b]текст[/b] — жирный текст.
  • [i]текст[/i] — курсивный текст.
  • [u]текст[/u] — подчеркнутый текст.
  • [s]текст[/s] — зачеркнутый текст.
  • [url=http://example.com]текст[/url] — ссылка.
  • [img]http://example.com/image.jpg[/img] — картинка.
  • [quote]текст[/quote] — цитата.
  • [code]код[/code] — блок кода.
  • [list][*]элемент 1[*]элемент 2[/list] — список.
  • [color=red]текст[/color] — текст с цветом.

2. Класс CTextParser:

  • Для парсинга BB кода используется класс CTextParser.
  • Создайте экземпляр класса:
$parser = new CTextParser();
  • Установите правила парсинга:
$parser->allow = array(
    "HTML" => "N",
    "ANCHOR" => "Y",
    "BIU" => "Y",
    "IMG" => "Y",
    "QUOTE" => "Y",
    "CODE" => "Y",
    "FONT" => "Y",
    "LIST" => "Y",
    "SMILES" => "Y",
    "NL2BR" => "Y",
    "VIDEO" => "Y",
    "TABLE" => "Y",
    "CUT_ANCHOR" => "N",
    "ALIGN" => "Y",
);
  • Конвертируйте текст с BB кодом в HTML:
$html = $parser->convertText($text);

3. Примеры:

// Преобразование BB кода в HTML
$text = "[b]Жирный текст[/b] [i]Курсивный текст[/i]";
$parser = new CTextParser();
$parser->allow = array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y");
$html = $parser->convertText($text);
echo $html; // Вывод: <b>Жирный текст</b> <i>Курсивный текст</i>

// Добавление ссылки
$text = "Ссылка на [url=http://example.com]сайт[/url]";
$parser = new CTextParser();
$parser->allow = array("HTML" => "N", "ANCHOR" => "Y");
$html = $parser->convertText($text);
echo $html; // Вывод: Ссылка на <a href="http://example.com">сайт</a>

// Добавление картинки
$text = "Картинка: [img]http://example.com/image.jpg[/img]";
$parser = new CTextParser();
$parser->allow = array("HTML" => "N", "IMG" => "Y");
$html = $parser->convertText($text);
echo $html; // Вывод: Картинка: <img src="http://example.com/image.jpg">

4. Дополнительные возможности:

  • Вы можете использовать user fields в BB коде.
  • Можете настроить максимальную длину текста для парсера: $parser->maxStringLen = 100;.
  • Можете отключить смайлики: $parser->allow["SMILES"] = "N";.

5. Важные моменты:

  • Всегда проверяйте права пользователя на использование BB кода перед его обработкой.
  • Экранируйте данные пользователя перед выводом на страницу.
  • Используйте параметр PRESET для настройки правил парсинга.

Надеюсь, эта информация поможет вам использовать BB код в 1С-Битрикс правильно и безопасно.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Добавить комментарий

Related Post

Консольные команды в Битрикс: Создание CLI-скриптов для bitrix.phpКонсольные команды в Битрикс: Создание CLI-скриптов для bitrix.php

В современном Битрикс (с версии main 20.100.0) появилась нативная поддержка консольных команд на базе Symfony Console. Теперь вместо создания разрозненных PHP-файлов для CRON можно писать структурированные команды с аргументами и опциями,

Как использовать метод SDK sale.order.delete в Битрикс24Как использовать метод SDK sale.order.delete в Битрикс24

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Как использовать метод SDK sale.order.delete в Битрикс24». Вы узнаете экспертные методики работы с

Удалить отгрузку sale.shipment.deleteУдалить отгрузку sale.shipment.delete

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Удалить отгрузку sale.shipment.delete», разберем архитектурные особенности и предоставим