![]() |
0 Всего найдено: 12
freeproworks
Сообщение
04/01/2008 13:36
Копия темы
php функция . Поделитесь плиз функцией преобразование русских букв анг. Хочу использовать при загрузке картинок на сервер. для замены русских имен фалов. Спасибо :)
TweeKane
Сообщение
04/01/2008 14:03
Копия темы
. function ru2lat ($string) # Задаём функцию перекодировки кириллицы в транслит. { $string = ereg_replace("ж","zh",$string); $string = ereg_replace("ё","yo",$string); $string = ereg_replace("й","i",$string); $string = ereg_replace("ю","yu",$string); $string = ereg_replace("ь","'",$string); $string = ereg_replace("ч","ch",$string); $string = ereg_replace("щ","sh",$string); $string = ereg_replace("ц","c",$string); $string = ereg_replace("у","u",$string); $string = ereg_replace("к","k",$string); $string = ereg_replace("е","e",$string); $string = ereg_replace("н","n",$string); $string = ereg_replace("г","g",$string); $string = ereg_replace("ш","sh",$string); $string = ereg_replace("з","z",$string); $string = ereg_replace("х","h",$string); $string = ereg_replace("ъ","''",$string); $string = ereg_replace("ф","f",$string); $string = ereg_replace("ы","y",$string); $string = ereg_replace("в","v",$string); $string = ereg_replace("а","a",$string); $string = ereg_replace("п","p",$string); $string = ereg_replace("р","r",$string); $string = ereg_replace("о","o",$string); $string = ereg_replace("л","l",$string); $string = ereg_replace("д","d",$string); $string = ereg_replace("э","yе",$string); $string = ereg_replace("я","jа",$string); $string = ereg_replace("с","s",$string); $string = ereg_replace("м","m",$string); $string = ereg_replace("и","i",$string); $string = ereg_replace("т","t",$string); $string = ereg_replace("б","b",$string); $string = ereg_replace("Ё","yo",$string); $string = ereg_replace("Й","I",$string); $string = ereg_replace("Ю","YU",$string); $string = ereg_replace("Ч","CH",$string); $string = ereg_replace("Ь","'",$string); $string = ereg_replace("Щ","SH'",$string); $string = ereg_replace("Ц","C",$string); $string = ereg_replace("У","U",$string); $string = ereg_replace("К","K",$string); $string = ereg_replace("Е","E",$string); $string = ereg_replace("Н","N",$string); $string = ereg_replace("Г","G",$string); $string = ereg_replace("Ш","SH",$string); $string = ereg_replace("З","Z",$string); $string = ereg_replace("Х","H",$string); $string = ereg_replace("Ъ","''",$string); $string = ereg_replace("Ф","F",$string); $string = ereg_replace("Ы","Y",$string); $string = ereg_replace("В","V",$string); $string = ereg_replace("А","A",$string); $string = ereg_replace("П","P",$string); $string = ereg_replace("Р","R",$string); $string = ereg_replace("О","O",$string); $string = ereg_replace("Л","L",$string); $string = ereg_replace("Д","D",$string); $string = ereg_replace("Ж","Zh",$string); $string = ereg_replace("Э","Ye",$string); $string = ereg_replace("Я","Ja",$string); $string = ereg_replace("С","S",$string); $string = ereg_replace("М","M",$string); $string = ereg_replace("И","I",$string); $string = ereg_replace("Т","T",$string); $string = ereg_replace("Б","B",$string); return $string; }
TweeKane
Сообщение
04/01/2008 14:04
Копия темы
. Можно чуточку поэлегантнее, конечно, но смысл один :)
stanma
Сообщение
04/01/2008 19:50
Копия темы
. А стоит этоли того? кодируйте название через md5 и все.
stanma
Сообщение
04/01/2008 19:53
Копия темы
. Извините, но зачем использовать явно более тормозную функцию, когда есть str_replace ?
TweeKane
Сообщение
04/01/2008 21:45
Копия темы
. Абсолютно согласен, что лучше использовать .str_replace, к тому же я следом написал.. Я так понимаю человеку нужна была правильная последовательность для транслитерации. Функцию я взял из скрипта LANdex.
Kiami
Сообщение
04/01/2008 23:46
Копия темы
Функция перевода в транслит для имен файлов (пробел заменяется на "_") . function translite($word) { $russian = array ('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф', 'ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м', 'и','т','ь','б','ю','ё', ' '); $english = array ('y','c','u','k','e','n','g','sh','sch','z','h','','f', 'y','v','a','p','r','o','l','d','zh','e','ya','ch','s','m', 'i','t',"'",'b','uy','io', '_'); $result = ''; for ($i=0; $i<strlen($word); $i++) { $srch = array_search($word[$i], $russian); if ($srch !== false) { $result .= $english[$srch]; } else { $result .= $word[$i]; } } return $result; }
polymorph
Сообщение
05/01/2008 20:30
Копия темы
Стандартное строковое решение =) . function translit_rus2eng($text) { $literals=array('а' => 'a','б' => 'b',в' => 'v',г' => 'g',д' => 'd',е' => 'e',ё' => 'yo',ж' => 'zh', 'з' => 'z',и' => 'i',й' => 'j',к' => 'k', 'л' => 'l',м' => 'm',н' => 'n',о' => 'o',п' => 'p',р' => 'r',с' => 's',т' => 't',у' => 'u',ф' => 'f',х' => 'h',ц' => 'c', 'ч' => 'ch',ш' => 'sh',щ' => 'w',ы' => 'y',ь' => '`',э' => 'e',ю' => 'yu',я' => 'ya',А' => 'A',Б' => 'B',В' => 'V', 'Г' => 'G',Д' => 'D',Е' => 'E',Ё' => 'YO',Ж' => 'ZH',З' => 'Z',И' => 'I',Й' => 'J',К' => 'K',Л' => 'L',М' => 'M', 'Н' => 'N',О' => 'O',П' => 'P',Р' => 'R',С' => 'S',Т' => 'T',У' => 'U',Ф' => 'F',Х' => 'H',Ц' => 'C',Ч' => 'CH', 'Ш' => 'SH',Щ' => 'W',Ы' => 'Y',Ь' => '`',Э' => 'E',Ю' => 'YU',Я' => '); return strtr($text,$literals); }
gipper2006
Сообщение
05/01/2008 20:38
Копия темы
0
. Рекомендую воспользоваться фукцией strtr. Эта функция с работает с двумя и тремя параметрами. Откройте справочник по РНР и посмотрите... Функцию с тремя параметрами можно использовать для русских символов, которым соответствует одна буква английского алфавита. С двумя параметрами, когда соответствует две буквы английского алфавита одному русскому символу. Если для Вас все еще актуально, могу поделиться исходным кодом :))) |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |