[Translitor] - Альтернатива транслитерации псевдонимов
Оптимизированная альтернатива всем известного, популярного компонента translit.
Сравним вот такую фразу
«На _ (Золотом крыльце) / Сидели. Царь! Царевич»
Сравните что творит Translit
«na-(zolotom-kryilcze)-/-sideli.-czar!-czarevich»
С тем, как отработал Translitor
na-zolotom-kryltse-sideli-tsar-tsarevich
— Класс транслитерации позаимствован из Laravel, и немного допилен. Это принципиально другая работа, несмотря на схожее поведение.
— Улучшена фильтрация ненужных символов. В отличие от Translit, который пропускает скобки, подчеркивания, слеши, различные служебные символы, Translitor их не пропускает. В поле alias попадают только буквы, цифры. Все остальное заменяется разделителем-заменителем (дефисом)
— Оптимизирована таблица транслитерации. Мне не нравилось как меняются некоторые русские буквы
Вот и все. В целом никаких настроек не требуется. Компонент работает сразу из коробки.
Сравним вот такую фразу
«На _ (Золотом крыльце) / Сидели. Царь! Царевич»
Сравните что творит Translit
«na-(zolotom-kryilcze)-/-sideli.-czar!-czarevich»
С тем, как отработал Translitor
na-zolotom-kryltse-sideli-tsar-tsarevich
— Класс транслитерации позаимствован из Laravel, и немного допилен. Это принципиально другая работа, несмотря на схожее поведение.
— Улучшена фильтрация ненужных символов. В отличие от Translit, который пропускает скобки, подчеркивания, слеши, различные служебные символы, Translitor их не пропускает. В поле alias попадают только буквы, цифры. Все остальное заменяется разделителем-заменителем (дефисом)
— Оптимизирована таблица транслитерации. Мне не нравилось как меняются некоторые русские буквы
Вот и все. В целом никаких настроек не требуется. Компонент работает сразу из коробки.
Комментарии: 28
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Настройка friendly_alias_restrict_chars делаем alphanumeric и получаем тоже самое, без лишнего мусора.
Напомню, меня еще не устраивала транслитерация некоторых русских букв.
Строку
заменил на
И норм, теперь точки на месте)
Помогите разобраться)
/home/s32719/www/core/components/translitor/model/translitor.class.php 188
PHP warning: Undefined array key «ru»
core/components/translitor/model/translitor.class.php
31 строка
Меняем код функции translate на такой: