yepteam / typograph
PHP-библиотека для типографической обработки текста.
Installs: 93
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/yepteam/typograph
Requires
- php: >=8.1.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^10
This package is not auto-updated.
Last update: 2025-12-05 00:11:04 UTC
README
PHP-библиотека для типографической обработки текста.
Возможности
- Замена пробелов и дефисов на неразрывные
- Расстановка короткого и длинного тире
- Замена кавычек первого и второго уровня
- Игнорирование HTML-тегов, Emoji, содержимого тегов script и style
- Кодирование символов в виде мнемоник или числовых кодов
Установка
Установите пакет через composer:
composer require yepteam/typograph
Использование
use Yepteam\Typograph\Typograph; // Инициализация со стандартными параметрами $typograph = new Typograph(); $html = $typograph->format($html);
Конфигурация
В примере ниже указаны параметры по умолчанию.
$typograph = new Typograph([ // Режим кодирования // named - буквенными кодами // numeric - числовыми кодами // hex - шестнадцатеричными кодами // raw - готовыми символами 'entities' => 'named', // Многоточия // hellip - замена трех точек на символ многоточия // dots - замена символа многоточия на три точки // none - не обрабатывать многоточия '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.