Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: перевод в транслит
 
 автор: krollik   (02.04.2006 в 21:40)   письмо автору
 
 

Вот написал несложную функцию перевода в транслит, только тут почему то не менет букву "е", почему?
Вот код:

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;
}

   
 
 автор: P@Sol   (02.04.2006 в 21:55)   письмо автору
 
   для: krollik   (02.04.2006 в 21:40)
 

а с чего вы взяли что не меняет?

   
 
 автор: Бамси   (02.04.2006 в 23:52)   письмо автору
 
   для: 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, а на щет того почему не отображалась Е, дак это дело в синтаксе наверно было, там я видел у вас пробела после запятой не было.

   
 
 автор: DimkinStd   (03.04.2006 в 00:08)   письмо автору
 
   для: Бамси   (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"));

и все!

   
 
 автор: HerSystem   (17.05.2006 в 15:25)   письмо автору
 
   для: DimkinStd   (03.04.2006 в 00:08)
 

А как сделать это, но не на php, а на Яве?
Вот допустим в форму воодиш сообщение, нажимаешь спец кнопку(ссылку) и текст прям в форме, без перезагрузки переводиться.

   
 
 автор: 1999   (17.05.2006 в 17:40)   письмо автору
 
   для: HerSystem   (17.05.2006 в 15:25)
 

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

   
 
 автор: HerSystem   (17.05.2006 в 23:29)   письмо автору
 
   для: 1999   (17.05.2006 в 17:40)
 

..

   
 
 автор: HerSystem   (19.05.2006 в 22:51)   письмо автору
 
   для: HerSystem   (17.05.2006 в 23:29)
 

А как сделать это, но не на php, а на Яве?
Вот допустим в форму воодиш сообщение, нажимаешь спец кнопку(ссылку) и текст прям в форме, без перезагрузки переводиться.

   
 
 автор: Саня   (19.05.2006 в 23:25)   письмо автору
 
   для: HerSystem   (19.05.2006 в 22:51)
 

Рекомендую воспользоваться поиском: http://softtime.ru/forum/srchform.php?id_forum=1&name=%F2%F0...%F2%E8

   
 
 автор: Саня   (19.05.2006 в 23:19)   письмо автору
 
   для: Бамси   (02.04.2006 в 23:52)
 

...а то место Лошадка будет Лосхадка :)
Чтобы так не получалось, умные дяди составили таблицу транслита и назвали её "стандартом". У каждой страны/органа свой стандарт.
Пример:
http://textpattern.ru/html/transliteration-tables.htm

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования