помогите с транслитом

sTar

Guest
помогите с транслитом

Здраствуйте, у меня такая проблемка:
есть строка, например "баран" теперь мне сделать транслит:
вот два массива:
$map_en = array("sh'","Sh'",'ye','Ye',"'e","'E",'y0','Y0',"'o","'O",'zh','Zh','ts','Ts','ch','Ch','sh','Sh',"`e","`E",'yu','Yu',"'u","'U",'ya','Ya',"'a","'A",'a','A','b','B','v','V','w','W','g','G','d','D','e','E','z','Z','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','r','R','s','S','t','T','u','U','f','F','h','H','c','C','`','y','Y',"'",'<Б>','</Б>','<И>','</И>','<У>','</У>','<ЦОДЕ>','</ЦОДЕ>');
$map_ru = array('щ','Щ','е','Е','е','Е','ё','Ё','ё','Ё','ж','Ж','ц','Ц','ч','Ч','ш','Ш','э','Э','ю','Ю','ю','Ю','я','Я','я','Я','а','А','б','Б','в','В','в','В','г','Г','д','Д','е','Е','з','З','и','И','й','Й','к','К','л','Л','м','М','н','Н','о','О','п','П','р','Р','с','С','т','Т','у','У','ф','Ф','х','Х','ц','Ц','ъ','ы','Ы','ь','<B>','</B>','<I>','</I>','<U>','</U>','<CODE>','</CODE>');

теперь мне надо перебрать посимвольно мою строку,
for($i=0; $i<strlen($i); $i++) {
// какие функции иуи писать
}

или пошлите куда надо смотреть (имею ввиду ман :) )
 

sTar

Guest
а есть такая функция которая разбивает строку на массив символов?
 

AHTIXPICT

Новичок
$str="sdfsefwef"
echo $str[1]
выведет "d"

Как вывести символ "e" тоже написать?
просто звиздец какой то.
Читаем мануалы по работе со строками.
 

slach

Новичок
АНТИХРИСТ, предлагать preg_replace для явного strtr ... это тоже знаешь ли не подарок =)
 

AHTIXPICT

Новичок
slach
Функцию где то уже видел, у себя проверял, работает:

function Rus2Lat($fl_name) {
$search = array("/а/si", "/б/si", "/в/si", "/г/si", "/д/si", "/е/si", "/ё/si", "/ж/si", "/з/si", "/и/si", "/й/si", "/к/si", "/л/si", "/м/si", "/н/si", "/о/si", "/п/si", "/р/si", "/с/si", "/т/si", "/у/si", "/ф/si", "/х/si", "/ц/si", "/ч/si", "/ш/si", "/щ/si", "/ь/si", "/ы/si", "/ъ/si", "/э/si", "/ю/si", "/я/si", "/[ -]+/si", "/[\[\]\{\}\(\)\?\*\+\^\$!\@#%&:;~]/si");
$replace = array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "c", "ch", "sh", "sch", "j", "y", "", "e", "ju", "ja", "_", "");
return preg_replace($search, $replace, $fl_name);
}
 

SiMM

Новичок
Автор оригинала: AHTIXPICT
slach
Функцию где то уже видел, у себя проверял, работает
Это у тебя оправдание такое? А голову применять не пробовал? Не надо прыгать с 10го этажа только потому, что кто-то тоже прыгнул. Забивать гвозди микроскопом можно, но нужно ли?
 

AHTIXPICT

Новичок
SiMM
Отчего такая злоба.
Это не оправдание, мне нравится этот вариант, довольно коротко и ясно.
И работает.
А писать в цикле перебор всех символов строки это наверное лучше?

Если неправ пни
 

mani13

Новичок
PHP:
$text = str_replace($map_en, $map_ru, $text);
что есть $map_en и $map_ru смотри выше
 
Сверху