LINUX.ORG.RU

Преобразователь слов [php]


0

1

Допустим есть слово КОТ(1).
Собственно нужно что-то автоматизированное что сможет вернуть KOT(2) набранный латиницей конвертированным в кириллицу. В первом примере кот во втором kot.

Нужна автоматизация конверта:
kot - кот
Kot - Кот

Нужно обрабатывать большие (15-20 строчные) тексты в которых куча таких замен. Ещё при этом может меняться регистр.

Есть готовые решения?

А, да, сейчас глянул в код — там используется функция ec(), которая перекодирует русский из кодировки файла (utf-8 обычно) в системную кодировку. Если они одинаковые, можно просто выкинуть.

KRoN73 ★★★★★ ()
Ответ на: комментарий от RR

Только для одиночных символов. Там такая замена только в одном месте. Остальное — каша для множественных символов и всякого 1337-кода :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от RR

А, понял, да. 10 лет назад этого в документации не было. А так — работает и ладно :) Хотя надо бы как-нибудь причесать будет, просто для красоты :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от trashymichael

>для str_replace так тоже можно, только с двумя массивами

Да, но там параллельность преобразований вручную придётся отсчитывать :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

тогда на выходных, работы завал, кстать стртр удобно пользовать для подстановки паметров в запросы.

RR ()
Ответ на: комментарий от KRoN73

рефакторинг стронгли рекомендид

    $s=str_replace("shch",ec("щ"),$s);
    $s=str_replace("Shch",ec("Щ"),$s);
    ...
    $s=str_replace("TS",ec("Ц"),$s);

вот например в питонячьем trans сначала определяются словари символов, а уж потом все эти преобразования делаются

dismal_faun ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.