Rules syntax could be found at https://unicode-org.github.io/icu/userguide/transforms/general/#overview
(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)
Transliterator::createFromRules -- transliterator_create_from_rules — Создать транслитератор на основе правил
Объектно-ориентированный стиль
$rules
, int $direction
= Transliterator::FORWARD): ?TransliteratorПроцедурный стиль
$rules
, int $direction
= Transliterator::FORWARD): ?TransliteratorСоздать транслитератор на основе правил.
Функцию пока не задокументировали; для знакомства доступен только список аргументов.
rules
Правила, которые описаны в разделе Transform Rules Syntax отчёта UTS #35: Unicode LDML.
direction
Направление транслитерации. По умолчанию Transliterator::FORWARD. Можно использовать Transliterator::REVERSE.
Возвращает объект Transliterator или
null
в случае возникновения ошибки.
Rules syntax could be found at https://unicode-org.github.io/icu/userguide/transforms/general/#overview
// string normalization example
$transliterator = Transliterator::createFromRules(''
. ':: [^йЙ];'
. ':: NFD;'
. ' [:White_Space:]+ > \' \';'
. ':: Upper();'
. ':: [:Nonspacing Mark:] Remove;'
. ':: NFC;', Transliterator::FORWARD);
$str = 'ручей příklad';
echo str_replace('й', 'Й', $transliterator->transliterate($str));
// result:
// РУЧЕЙ PRIKLAD