note 29982 modified in function.convert-cyr-string by vrana
| From: | vrana@php.net | Date: | Tue, 17 Aug 2004 14:55:21 +0000 |
| Subject: | note 29982 modified in function.convert-cyr-string by vrana | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-80022@lists.php.net to get a copy of this message | ||
<?php
// 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!
--was--
// 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://php.net/manual/en/function.convert-cyr-string.php