Форум сетевых администраторов
Показаны 2 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- кириллица в латинницу (http://netadmin.ws/forum/showthread.php?threadid=4052)


Помещено peteK 24-01-2003 в 06:08:

кириллица в латинницу

кому не жалко поделитесь функцией php конвертации из текста в win1251 в текст латинским алфавитом

спасибо

__________________
www.relmax.com
Web Site Design and Development


Помещено SCHIZO 28-01-2003 в 20:50:

не жалко... щас покопаюсь у себя в архиве...

SCHIZO добавил 28-01-2003 в 21:27:29:
а фигли копаться! ту просто все...
делаешь мапу(таблицу трансляции) что=>во что и по этой мапе перекодируешь.

PHP:


$chrmap 
= Array(
 
'a'=>'a',
 
'b'=>'ь',
 
'6'=>'б'
# и так далее...
# в любой последовательности и комбинациях
# как тебе требуется, хоть мап клавиатуры рус/лат забей
);

$string = 'аб';
$translit = strtr($string,$chrmap);
echo 
$translit;
#выведет 'a6'



вот и вся функция... т.е. тебе надо туда передать мапу и строку которую хочешь перекодировать а на выходе получить перекодированую строку

PHP:

function cyr_translit($srting,$map) {
 return 
strtr($string,map);
}



можно мапы хранить прямо в теле функции, встроить дополнительные проверки на наличие значений и валидности. Для того чтобы перекодировать туда-обратно не надо два массива, можно перевернуть ключи и значения существующего, еще можно автоматичеки по коду символа определять в какую сторону надо перекодировать и поворачивать таблицу трансляции в нужную сторону отдельно для каждого символа или для всего слова/предложения/сообщения, перекодируя только те символы которые в нецелевом чарсете..
короче много чего можно =)

__________________
FAQ OFF


Формат времени GMT. Текущее время 23:23.
Показаны 2 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.