Convert
Convert предоставляет статические методы для экранирования HTML, преобразования строк в URL-слаги, конвертации JSON и работы с переносами строк. Создавать экземпляр класса не нужно.Поддерживает
- экранирование HTML для вывода в шаблонах
- транслитерацию кириллицы и генерацию URL-слагов
- конвертацию между массивом и JSON-строкой
- преобразование переносов строк между форматами
Быстрый старт
echo Convert::sanitizeHtml($post['title']);$slug = Convert::url('Моя страница');
// 'moya-stranica'Экранирование HTML
sanitizeHtml(string $value): string
Экранирует HTML-символы для безопасного вывода в шаблоне:
echo '<h1>' . Convert::sanitizeHtml($product['title']) . '</h1>';Символы <, >, &, одинарные и двойные кавычки преобразуются в HTML-сущности. Заменяет устаревший noHTML().
URL и транслитерация
url(string $string, bool $slash = true, bool $cyrillic = false): string
Переводит строку в нижний регистр, транслитерирует кириллицу и удаляет недопустимые символы:
$slug = Convert::url('Моя страница');
// 'moya-stranica'По умолчанию символ / сохраняется. Чтобы запретить слеш, передайте false вторым аргументом:
$slug = Convert::url('Раздел/Страница', false);
// 'razdelstranica'Чтобы сохранить кириллицу вместо транслитерации:
$slug = Convert::url('Моя страница', false, true);
// 'моя-страница'Пробелы заменяются дефисами. Разрешены буквы, цифры, -, _ и / (если $slash = true).
translit(string $string): string
Транслитерирует кириллицу в латиницу без дополнительной обработки строки:
echo Convert::translit('Привет');
// 'Privet'Регистр, пробелы и прочие символы сохраняются.
JSON
strToJson(string $string = ''): array
Декодирует JSON-строку в массив:
$meta = Convert::strToJson($row['meta']);Если строка пустая или содержит невалидный JSON, возвращает [].
jsonToStr(array $json = []): string
Кодирует массив в JSON-строку:
$serialized = Convert::jsonToStr(['color' => 'red', 'size' => 'L']);Возвращает строку в кодировке UTF-8 без экранирования unicode-символов.
Переносы строк
CMS хранит переносы строк в базе данных в виде HTML-сущности . Методы позволяют переводить между этим форматом, \n и <br>.
nToBr($text): string
Заменяет \n на <br>:
echo Convert::nToBr($post['description']);brToN($text): string
Заменяет <br> на \n.
charToBr($text): string
Заменяет на <br> для вывода в HTML.
charToN($text): string
Заменяет на \n.
brToChar($text): string
Заменяет <br> на .
delChar($text): string
Удаляет все вхождения из строки.