|
|
|
| Вот написал несложную функцию перевода в транслит, только тут почему то не менет букву "е", почему?
Вот код:
function translate($str) {
$from = array("À", "à", "Á", "á", "Â", "â", "Ã", "ã", "Ä", "ä", "Å", "e", "¨", "¸", "Æ", "æ", "Ç", "ç", "È", "è", "É", "é", "Ê", "ê", "Ë", "ë", "Ì", "ì", "Í", "í", "Î", "î", "Ï", "ï", "Ð", "ð", "Ñ", "ñ", "Ò", "ò", "Ó", "ó", "Ô", "ô", "Õ", "õ", "Ö", "ö", "×", "÷", "Ø", "ø", "Ù", "ù", "Ú", "ú", "Û", "û", "Ü", "ü", "Ý", "ý", "Þ", "þ", "ß", "ÿ", " "); - э.. тут был руский алфавит, просто кодирока не та =)) а писать заново влом..
$to = array("a", "a", "b", "b", "v", "v", "g", "g", "d", "d", "e", "e", "e", "e","dj", "dj", "z", "z", "i", "i", "y", "y", "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", "ch", "ch", "sh", "sh", "sch", "sch", "", "", "i", "i", "", "", "e", "e", "yu", "yu", "ya", "ya", "_");
$new = str_replace($from, $to, $str);
return $new;
}
|
| |
|
|
|
|
|
|
|
для: krollik
(02.04.2006 в 21:40)
| | а с чего вы взяли что не меняет? | |
|
|
|
|
|
|
|
для: P@Sol
(02.04.2006 в 21:55)
| | У меня ваш скрипт вообще не работал честно говоря, переписал все заного:
<?
function translate($str) {
$from = array("Ya", "ya", "ya", "SCH", "Sch", "sch", "CH", "Ch", "ch", "SH", "Sh", "sh", "A", "a", "B", "b", "V", "v", "G", "g", "D", "d", "E", "e", "E", "e", "J", "j", "Z", "z", "I", "i", "Y", "y", "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", "", "", "I", "i", "'", "'", "E", "e", "U", "u");
$to = array("Я", "Я", "я", "Щ", "Щ", "щ", "Ч", "Ч", "ч", "Ш", "Ш", "ш", "А", "а", "Б", "б", "В", "в", "Г", "г", "Д", "д", "Е", "е", "Е", "е", "Ж", "ж", "З", "з", "И", "и", "Й", "й", "К", "к", "Л", "л", "М", "м", "Н", "н", "О", "о", "П", "п", "Р", "р", "С", "с", "Т", "т", "У", "у", "Ф", "ф", "Х", "х", "Ц", "ц", "Ъ", "ъ", "Ы", "ы", "Ь", "ь", "Э", "э", "Ю", "ю");
$new = str_replace($from, $to, $str);
return $new;
}
$test = "Loshadka";
echo(translate($test));
?>
|
И если буква транслита содержит 2 знака и более то вставте его в начале а не в конце, а то место Лошадка будет Лосхадка :)
И вы перепутали From and To, а на щет того почему не отображалась Е, дак это дело в синтаксе наверно было, там я видел у вас пробела после запятой не было. | |
|
|
|
|
|
|
|
для: Бамси
(02.04.2006 в 23:52)
| | Да этож офигеть много писать!!!!!!
Так проще будет!!!
$msg2=strtr($msg2,array("а"=>"a", "б"=>"b", "в"=>"v", "г"=>"g", "д"=>"d", "е"=>"e", "ж"=>"j", "з"=>"z", "и"=>"i", "й"=>"y", "к"=>"k", "л"=>"l", "м"=>"m", "н"=>"n", "о"=>"o", "п"=>"p", "р"=>"r", "с"=>"s", "т"=>"t", "у"=>"u", "ф"=>"f", "х"=>"h", "ц"=>"c", "ч"=>"4", "ш"=>"sh", "щ"=>"sh", "ь"=>"", "ы"=>"i", "ъ"=>"", "э"=>"e", "ю"=>"yu", "я"=>"ya", "А"=>"A", "Б"=>"B", "В"=>"V", "Г"=>"G", "Д"=>"D", "Е"=>"E", "Ж"=>"J", "З"=>"Z", "И"=>"I", "Й"=>"Y", "К"=>"K", "Л"=>"L", "М"=>"M", "Н"=>"N", "О"=>"O", "П"=>"P", "Р"=>"R", "С"=>"S", "Т"=>"T", "У"=>"U", "Ф"=>"F", "Х"=>"H", "Ц"=>"C", "Ч"=>"4", "Ш"=>"SH", "Щ"=>"SH", "Ь"=>"", "Ы"=>"I", "Ъ"=>"", "Э"=>"E", "Ю"=>"YU", "Я"=>"YA"));
и все! | |
|
|
|
|
|
|
|
для: DimkinStd
(03.04.2006 в 00:08)
| | А как сделать это, но не на php, а на Яве?
Вот допустим в форму воодиш сообщение, нажимаешь спец кнопку(ссылку) и текст прям в форме, без перезагрузки переводиться. | |
|
|
|
|
|
|
|
для: HerSystem
(17.05.2006 в 15:25)
| | блин хватит говорить ява когда имеете в виду яваскрипт | |
|
|
|
|
|
|
|
для: 1999
(17.05.2006 в 17:40)
| | .. | |
|
|
|
|
|
|
|
для: HerSystem
(17.05.2006 в 23:29)
| | А как сделать это, но не на php, а на Яве?
Вот допустим в форму воодиш сообщение, нажимаешь спец кнопку(ссылку) и текст прям в форме, без перезагрузки переводиться. | |
|
|
| |
|
|
|
|
для: Бамси
(02.04.2006 в 23:52)
| | ...а то место Лошадка будет Лосхадка :)
Чтобы так не получалось, умные дяди составили таблицу транслита и назвали её "стандартом". У каждой страны/органа свой стандарт.
Пример:
http://textpattern.ru/html/transliteration-tables.htm | |
|
|
|
|