class_desc/classes/shortcode_parser.md
Класс ShortCodeParser
Класс ShortCodeParser предназначен для работы с шорткодами (специальными фрагментами текста, обеспечивающими быстрое встраивание дополнительного функционала в документ). Он позволяет определять, обрабатывать и удалять шорткоды, предоставляя гибкий инструмент для автоматической обработки текстовых данных, содержащих такие коды.
Основная информация
- Имя файла: anb_python_components\classes\shortcode_parser.py
- Автор: Александр Бабаев
- Версия: 1.0.0
- Дата начала поддержки: с версии 1.1
Атрибуты и методы класса
Конструктор (__init__)
Инициализирует экземпляр парсера шорткодов.
Пример использования:
from anb_python_components import ShortCodeParser
parser = ShortCodeParser()
Метод default_set_unset
Стандартный обработчик для задания и снятия шорткодов, возвращающий исходный контент без изменений.
Пример использования:
from anb_python_components import ShortCodeParser, ShortCodeAttributes
parser = ShortCodeParser()
result = parser.default_set_unset("Hello World", ShortCodeAttributes())
print(result) # Hello World
Метод any_valid
Метод, подтверждающий валидность шорткода при любых обстоятельствах.
Пример использования:
from anb_python_components import ShortCodeAttributes, ShortCodeParser
parser = ShortCodeParser()
validity = parser.any_valid("Some Content", ShortCodeAttributes())
print(validity) # True
Метод add_short_code
Регистрирует новый шорткод с соответствующими обработчиками.
Параметры:
name: str: название шорткода (обязательный).on_set: Callable | None: обработчик включения шорткода. Если значение равноNone, то будет применёнdefault_set_unset. По умолчанию,None.on_unset: Callable | None: обработчик отключения шорткода. Если значение равноNone, то будет применёнdefault_set_unset. По умолчанию,None.on_validate: Callable | None: обработчик проверки валидности шорткода. Если значение равноNone, то будет применёнany_valid. По умолчанию,None.
Пример использования:
from anb_python_components import ShortCodeParser
parser = ShortCodeParser()
parser.add_short_code('bold', on_set = lambda content, _: '<b>' + content + '</b>')
Метод add_short_codes
Добавляет сразу несколько шорткодов из списка моделей ShortCodeModel.
Пример использования:
from anb_python_components import ShortCodeParser, ShortCodeModel
parser = ShortCodeParser()
models = [ShortCodeModel('italic'), ShortCodeModel('underline')]
parser.add_short_codes(models)
Метод parse
Производит разбор текста, находит и обрабатывает шорткоды.
Параметры:
content: str: исходный текст для обработки. Это обязательный параметр.ignore_included_shortcodes: bool: игнорировать вложенные шорткоды (по умолчаниюFalse).is_unset: bool: режим деактивации шорткодов (по умолчаниюFalse).
Возвращает: str - Преобразованную строку с обработанными шорткодами.
Пример использования:
from anb_python_components import ShortCodeParser
parser = ShortCodeParser()
parser.add_short_code('bold', on_set = lambda content, _: '<b>' + content + '</b>')
output = parser.parse("[bold]Hello[/bold]")
print(output) # <b>Hello</b>
Заключение
Класс ShortCodeParser — мощный инструмент для работы с динамическими элементами в документах, позволяющий внедрять разнообразный функционал прямо в текст, увеличивая интерактивность и удобство работы с контентом.