note 29982 added to function.convert-cyr-string
| From: | mihailsbo at lycos dot ru | Date: | Mon, 03 Mar 2003 09:15:08 +0000 |
| Subject: | note 29982 added to function.convert-cyr-string | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-44765@lists.php.net to get a copy of this message | ||
// Here is a function that may be useful if you wish
// to convert cyrillic text (windows-1251) to english
// letters (e.g. for sending to a cell phone)
function transliterate( $text )
{
$cyrlet = 'ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß'.
'àáâãä叿çèéêëìíîïðñòóôõö÷øùúûüýþÿ';
$englet = 'ABVGD ZIJKLMNOPRSTUFHC
YE '.
'abvgd zijklmnoprstufhc ye ';
$result = '';
for ( $i=0; $i<strlen($text); $i++ ) {
$c1 = $text[ $i ];
$p1 = strpos( $cyrlet, $c1 );
if ( $p1 === FALSE ) { $result .= $c1; continue; }
$ct = $englet[ $p1 ];
if ( $ct != ' ' ) { $result .= $ct; continue; }
switch ( $c1 )
{
case 'Å':
$ct = 'Je';
break;
case 'å':
$ct = 'e';
break;
case '¨':
$ct = 'Jo';
break;
case '¸':
$ct = 'jo';
break;
case 'Æ':
$ct = 'Zh';
break;
case 'æ':
$ct = 'zh';
break;
case '×':
$ct = 'Ch';
break;
case '÷':
$ct = 'ch';
break;
case 'Ø':
$ct = 'Sh';
break;
case 'ø':
$ct = 'sh';
break;
case 'Ù':
$ct = 'Sch';
break;
case 'ù':
$ct = 'sch';
break;
case 'Þ':
$ct = 'Ju';
break;
case 'þ':
$ct = 'ju';
break;
case 'ß':
$ct = 'Ja';
break;
case 'ÿ':
$ct = 'ja';
break;
default:
$ct = '?';
}
$result .= $ct;
}
return $result;
}
// P.S. Thanks to PHP developers for rich and convenient
// programming language!
--
http://www.php.net/manual/en/function.convert-cyr-string.php
http://master.php.net/manage/user-notes.php?action=edit+29982
http://master.php.net/manage/user-notes.php?action=delete+29982
http://master.php.net/manage/user-notes.php?action=reject+29982