To highlight words in multi-byte text:
<?php
$s = 'Алабала';
$f = 'а';
echo preg_replace('/('.$f.')/iu', '<b>$1</b>', $s);
?>(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
mb_eregi_replace — Expression rationnelle avec support des caractères multioctets, sans tenir compte de la casse
$pattern,$replacement,$string,$options = null
   Analyse la chaîne string avec le masque
   d'expression rationnelle pattern, puis
   remplace le texte trouvé par replacement.
  
patternL'expression rationnelle. Les caractères multi octets peuvent être utilisés. La casse sera ignorée.
replacementLe texte de substitution.
stringLa chaîne recherchée.
options
   La chaîne résultante, ou false si une erreur survient.
   Si string n'est pas valide pour l'encodage courant,
   null est retourné.
  
| Version | Description | 
|---|---|
| 8.0.0 | optionsest désormais nullable. | 
| 7.1.0 | Cette fonction vérifie si stringest valide pour
        l'encodage courant. | 
| 7.1.0 | Le modificateur eest désormais obsolète. | 
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 votre application.
To highlight words in multi-byte text:
<?php
$s = 'Алабала';
$f = 'а';
echo preg_replace('/('.$f.')/iu', '<b>$1</b>', $s);
?>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;
}
?>