PHP-библиотека для типографической обработки текста.
- Замена пробелов и дефисов на неразрывные
- Расстановка короткого и длинного тире
- Замена кавычек первого и второго уровня
- Игнорирование HTML-тегов, Emoji, содержимого тегов script и style
- Кодирование символов в виде мнемоник или числовых кодов
Установите пакет через composer:
composer require yepteam/typographuse Yepteam\Typograph\Typograph;
// Инициализация со стандартными параметрами
$typograph = new Typograph();
$html = $typograph->format($html);В примере ниже указаны параметры по умолчанию.
$typograph = new Typograph([
// Режим кодирования
// named - буквенными кодами
// numeric - числовыми кодами
// hex - шестнадцатеричными кодами
// raw - готовыми символами
'entities' => Typograph::ENTITIES_RAW,
// Многоточия
// hellip - замена трех точек на символ многоточия
// dots - замена символа многоточия на три точки
// none - не обрабатывать многоточия
'ellipsis' => Typograph::ELLIPSIS_HELLIP,
// Массив кавычек по каждому уровню
// При пустом массиве обработка кавычек будет отключена
'quotes' => [
['«', '»'], // кавычки 1 уровня
['„', '“'], // кавычки 2 уровня
],
// Правила* замены знаков минус/дефис/тире
'dash' => [
'hyphen-to-mdash' => true, // дефис на mdash
'hyphen-to-minus' => true, // дефис на минус
'mdash-to-ndash' => true, // mdash на ndash
'ndash-to-mdash' => true, // ndash на mdash
'hyphen-to-nbhy' => true, // дефис на неразрывный
],
// Правила* расстановки неразрывных пробелов
'nbsp' => [
'initial' => true, // до и после инициалов
'mdash' => true, // до и после тире
'number' => true, // до и после числа
'short-word' => true, // до и после короткого слова
],
// Правила* обработки специальных символов
'special' => [
'copyright' => true, // (C) на ©
'plus-minus' => true, // +- на ±
'reg-mark' => true, // (R) на ®
'times' => true, // x на × между числами
'trade' => true, // (rm) на ™
],
// Режим отладки правил
'debug' => false,
]);*Для отключения группы правил укажите пустой массив, false или null.