note 29982 modified in function.convert-cyr-string by vrana

From: 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

« previous php.notes (#80022) next »