peter279k / slugger

Simple slugger for PHP 7.1+ based on ICU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple slugger for PHP 7.1+ based on ICU

Gitter Build Status CodeFactor Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads License

Awards

SymfonyInsight

Installation

composer require sunrise/slugger

How to use

Russian to Latin (default)

$slugger = new \Sunrise\Slugger\Slugger();

// "syesh-yeshche-etikh-myagkikh-frantsuzskikh-bulok-da-vypey-chayu"
$slugger->slugify('Съешь ещё этих мягких французских булок, да выпей чаю');

Deutsch to Latin

$slugger = new \Sunrise\Slugger\Slugger();
$slugger->setTransliteratorId('de-ASCII');

// "falsches-ueben-von-xylophonmusik-quaelt-jeden-groesseren-zwerg"
$slugger->slugify('Falsches Üben von Xylophonmusik quält jeden größeren Zwerg');

Only transliteration

$slugger = new \Sunrise\Slugger\Slugger();
$slugger->setTransliteratorId('Hiragana-Latin');

// "irohanihoheto chirinuruwo wakayotareso tsunenaramu uwinookuyama kefukoete asakiyumemishi wehimosesu"
$slugger->transliterate('いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす', '');

Customization

$slugger = new \Sunrise\Slugger\Slugger();
$slugger->setTransliteratorId('Greek-Latin/BGN');

// "takhisti alopix vafis psimeni yi dhraskelizi iper nothrou kinos"
$slugger->transliterate('Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός', 'Any-Latin; Latin-ASCII; Lower(); [^\x20\x30-\x39\x41-\x5A\x61-\x7A] Remove');

Using DI Container

$di['slugger'] = function() : \Sunrise\Slugger\SluggerInterface {
    $slugger = new \Sunrise\Slugger\Slugger();
    $slugger->setTransliteratorId('de-ASCII');

    return $slugger;
};

$di['slugger']->slugify('Zwölf große Boxkämpfer jagen Viktor quer über den Sylter Deich.');

Api documentation

https://phpdoc.fenric.ru/

Useful links

About

Simple slugger for PHP 7.1+ based on ICU

License:MIT License


Languages

Language:PHP 100.0%