[Translitor] - Альтернатива транслитерации псевдонимов

Оптимизированная альтернатива всем известного, популярного компонента translit.

Сравним вот такую фразу
«На _ (Золотом крыльце) / Сидели. Царь! Царевич»

Сравните что творит Translit
«na-(zolotom-kryilcze)-/-sideli.-czar!-czarevich»

С тем, как отработал Translitor
na-zolotom-kryltse-sideli-tsar-tsarevich



— Класс транслитерации позаимствован из Laravel, и немного допилен. Это принципиально другая работа, несмотря на схожее поведение.

— Улучшена фильтрация ненужных символов. В отличие от Translit, который пропускает скобки, подчеркивания, слеши, различные служебные символы, Translitor их не пропускает. В поле alias попадают только буквы, цифры. Все остальное заменяется разделителем-заменителем (дефисом)

— Оптимизирована таблица транслитерации. Мне не нравилось как меняются некоторые русские буквы

Вот и все. В целом никаких настроек не требуется. Компонент работает сразу из коробки.
Николай Савин
18 апреля 2019, 10:00
8
458
+14
Поблагодарить автора Отправить деньги

Комментарии: 14

Павел Голубев
18 апреля 2019, 10:07
0
А где можно сам допиленный класс Translitor глянуть?
Yar
Yar
18 апреля 2019, 10:56
+1
теперь у компонента уже 2 скачивания) Спасибо!
UDAV
18 апреля 2019, 11:22
2
+6
Обычный translit тоже так может!
Настройка friendly_alias_restrict_chars делаем alphanumeric и получаем тоже самое, без лишнего мусора.
    Alexey T
    18 апреля 2019, 14:22
    2
    +2
    Или так:
    'friendly_alias_restrict_chars' => 'pattern',
    'friendly_alias_restrict_chars_pattern' => '/[\0\x0B\t\n\r\f\a&=+°%#«»…<>—№!",.()\/\~:`@\?\[\]\{\}\|\^\'\\\\]/',
    Николай Савин
    18 апреля 2019, 17:32
    +1
    Возможно, я не знал. Как по мне, подобный функционал должен работать сразу. Может я и не прав.
    Напомню, меня еще не устраивала транслитерация некоторых русских букв.
      Николай
      18 апреля 2019, 18:53
      0
      Согласен, теперь буду этот транслит использовать на всех сайтах
Anton
20 апреля 2019, 10:56
+1
Поставил себе, работает отлично. Спасибо за компонент!
gruzoveek
26 апреля 2019, 09:14
+1
присоединяюсь к благодарностям!
iWatchYouFromAfar
02 мая 2019, 01:28
+1
Translitor вырезает все точки, это не очень хорошо, например когда используешь плагины или компоненты для транслитерации других вещей (например папок или файлов). Посему в translit можно указать свой паттерн, а тут нет. Это большой минус.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.