Transliterator for cyrillic-to-latin letters for UTF chars:
<?php
function do_translit($st) {
$replacement = array(
"й"=>"i","ц"=>"c","у"=>"u","к"=>"k","е"=>"e","н"=>"n",
"г"=>"g","ш"=>"sh","щ"=>"sh","з"=>"z","х"=>"x","ъ"=>"\'",
"ф"=>"f","ы"=>"i","в"=>"v","а"=>"a","п"=>"p","р"=>"r",
"о"=>"o","л"=>"l","д"=>"d","ж"=>"zh","э"=>"ie","ё"=>"e",
"я"=>"ya","ч"=>"ch","с"=>"c","м"=>"m","и"=>"i","т"=>"t",
"ь"=>"\'","б"=>"b","ю"=>"yu",
"Й"=>"I","Ц"=>"C","У"=>"U","К"=>"K","Е"=>"E","Н"=>"N",
"Г"=>"G","Ш"=>"SH","Щ"=>"SH","З"=>"Z","Х"=>"X","Ъ"=>"\'",
"Ф"=>"F","Ы"=>"I","В"=>"V","А"=>"A","П"=>"P","Р"=>"R",
"О"=>"O","Л"=>"L","Д"=>"D","Ж"=>"ZH","Э"=>"IE","Ё"=>"E",
"Я"=>"YA","Ч"=>"CH","С"=>"C","М"=>"M","И"=>"I","Т"=>"T",
"Ь"=>"\'","Б"=>"B","Ю"=>"YU",
);
foreach($replacement as $i=>$u) {
$st = mb_eregi_replace($i,$u,$st);
}
return $st;
}
?>
mb_eregi_replace
(PHP 4 >= 4.2.0, PHP 5)
mb_eregi_replace — Expression rationnelle avec support des caractères multi-octets, sans tenir compte de la casse
Description
Analyse la chaîne string avec le masque d'expression rationnelle pattern , puis remplace le texte trouvé par replacement .
Liste de paramètres
- pattern
-
L'expression rationnelle. Les caractères multioctets peuvent être utilisés. La casse sera ignorée.
- replace
-
Le texte de substitution.
- string
-
La chaîne recherchée.
- option
- option a la même signification que pour la fonction mb_ereg_replace().
Valeurs de retour
La chaîne résultante, ou FALSE si une erreur survient.
Notes
Note: L'encodage interne ou l'encodage des caractères spécifié par la fonction mb_regex_encoding() sera utilisé comme encodage de caractères pour cette fonction.
N'utilisez jamais l'option e lorsque vous travaillez avec des données entrantes. Aucune protection automatique n'est appliquée (sous la forme de la fonction preg_replace()). Si vous omettez cette étape, vous allez certainement crée des failles dans voter application.
Voir aussi
- mb_regex_encoding() - Retourne le jeu de caractères courant pour les expressions rationnelles
- mb_ereg_replace() - Remplace des segments de chaîne à l'aide des expressions rationnelles
mb_eregi_replace
13-Sep-2008 04:27
