hmarketing/typograf

Типография текста

1.0.3 2025-05-12 19:07 UTC

This package is not auto-updated.

Last update: 2025-07-07 20:00:31 UTC


README

Типографирование текста на php, помогает расставить неразрывные пробелы, правильные кавычки и исправить мелкие опечатки.

Содержание

Установка

composer require hmarketing/typograf

Использование

$typoObject = new \Akh\Typograf\Typograf();
$typoText = $typoObject->apply('"Привет, мир!"');
//«Привет, мир!»
echo $typoText; 

Включение и выключение правил

$t = new \Akh\Typograf\Typograf();
// Включить правило
$t->enableRule('Nbsp\ReplaceNbsp');
// Включить все правила в группе 
$t->enableRule('Nbsp\*');
// Включить все правила
$t->enableRule('*');

// Отключить правило
$t->disableRule('Nbsp\ReplaceNbsp'); 
// Отключить все правила в группе
$t->disableRule('Nbsp\*'); 
// Отключить все правила
$t->disableRule('*'); 

Частичное отключение

Чтобы отключить типографирование для участка текста, его нужно оберунть в

<span class="no-typo">"Привет"</span>

Добавление своего правила

$typo = new \Akh\Typograf\Typograf();
$simpleRule = new class extends \Akh\Typograf\Rule\AbstractRule {
    public $name = 'Замена названия сайта';
    protected $sort = 1000;
    public function handler(string $text): string
    {
        return str_replace('old.ru', 'new.ru', $text);
    }
};

$typo->addRule($simpleRule);
$typo->apply('old.ru'); //new.ru

Debugger

Посмотреть какие именно включены/отключены правила, можно передав в конструктор параметр

$typoObject = new \Akh\Typograf\Typograf(true);
var_damp($typoObject);
$typoText = $typoObject->apply('"Привет, мир!"');
//«Привет, мир!»
echo $typoText;