akh/typograf

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

v0.4.10 2024-02-20 07:12 UTC

This package is auto-updated.

Last update: 2024-04-20 08:10:01 UTC


README

tests codecov

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

Содержание

Установка

composer require akh/typograf

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

$t = new \Akh\Typograf\Typograf();
$typoText = $t->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

Вдохновление черпается из