Мультиязычный транслит на PHP?

Нужно из текста на любом языке получать близкий по звучанию текст в ANSII.

Существует ли такое решение на php?
  • Вопрос задан
  • 9198 просмотров
Пригласить эксперта
Ответы на вопрос 6
@dmiceman
Боюсь, ничего готового гугль не находит. И это действительно очень сложная и комплексная задача, совсем непохожая на работу mb_strtoupper(). С изменением регистра символов все просто — есть символы юникода, есть таблицы соответствия. А вот таблиц «близости по звучанию» — нет. И что-то мне подсказывает, что создать их вне зависимости от контекста языка невозможно.

Даже в фонетических языках есть большой произвол в звучании одних и тех же букв в зависимости от контекста. А та же кириллица используется во многих языках, звуча при этом немного по разному.

Что уж говорить про иероглифы, которые кодируясь одними и теми же последовательностями байт, звучат различно для разных народов их использующих. Тем более, что звуки языков с переменной тональностью довольно сложно передать посредством ASCII.

Но вот, в частности нашел таблицы для русского: textpattern.ru/html/transliteration-tables.htm
Ответ написан
LIAL
@LIAL
Думаю нет.

>на любом языке
вы представьте себе объем реализации и подумайте вы бы стали такой проект делать ??
Ответ написан
@diggy
iconv //TRANSLIT проверяли? (мне ни разу не было нужно, просто как вариант)
Ответ написан
voroninman
@voroninman
Все просто. Берете массив соответсвий 'ё'='yo' и скармливаете его функции strtr().
Ответ написан
@Karsonito
Как я понимаю вопрос еще открыт.
Мне помог модуль transliteration из drupal.
Там есть готовая функция. Нужно только отпилить привязку к друпалу.
Кстати, исходники основаны на MediaWiki и Text::Unidecode.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы