Warning: array_merge(): Argument #2 is not an array in /hsphere/local/home/magistr/codeismy.name/wp-content/plugins/wp-pagenavi/scb/Options.php on line 46

Перевод кириллицы в транслит

Дата: Май 28, 2009

(4) комментариев

В данной статье я приведу простой скриптик перевода кириллических символов в транслит. Лично я этот скрипт использовал при написании скрипт отправки смсок для того, чтоб переводить символы, ну так же можно примерить для поиска например, ведь очень часто люди пишут поисковые запросы типа «пхп» что в транслите выглядело бы корректно как php. Ну примеров применения данного скрипта на самом деле достаточно.

Принцип работы данного скрипта таков: сначала мы заменяем фонемы с помощью стандартной функции php которая называется strtr() или перевод в транслит, дальше мы заменяем те фонемы, которые обычно заменяются не одной а несколькими буквами по маске ну и возвращаем результат
Вот собственно сам скриптик

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
  // функция превода текста с кириллицы в траскрипт
  function encodestring($st)
  {

    // Сначала заменяем "односимвольные" фонемы.

    $st=strtr($st,"абвгдеёзийклмнопрстуфхьыэ_",
    "abvgdeeziyklmnoprstufh'iei");
    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЬЫЭ_",
    "ABVGDEEZIYKLMNOPRSTUFH'IEI");
    // Затем - "многосимвольные".

    $st=strtr($st,
                    array(
                        "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
                        "щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
                        "Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
                        "Щ"=>"SHCH","Ь"=>"'","Ъ"=>"", "Ю"=>"YU", "Я"=>"YA"
a




    4 комментариев на "Перевод кириллицы в транслит"

    lastop сказал:
    08.06.2009

    А где обратная функция?

    magistr_bender сказал:
    08.06.2009

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

    angeldemon сказал:
    18.07.2010

    В скрипте ошибка. пропущен «мягкий» знак «ь». Вместо него знак нижнего подчеркивания «_» (врядли это кирилица). И ещё кажется лишними «ї», «Ї», «є», «Є». Я таких русских букв не знаю.

    Sergey сказал:
    05.09.2010

    насчёт мягкого знака согласен, исправил, а вот насчёт остального.. есть вообщето ещё и украинский язык :) в нём тоже есть транслит :)

    Продолжение дискуссии на форуме: link


    Вы можете продолжить обсуждение этой статьи на форуме


    Имя : 
    Почта : 
    Сайт : 
    Комментарий : 

    Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

    Создание сайта - Echo-group Раскрутка сайтов