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 — Replace regular expression with multibyte support ignoring case
$pattern,$replacement,$string,$options = null
   Scans string for matches to
   pattern, then replaces the matched text
   with replacement. 
  
patternThe regular expression pattern. Multibyte characters may be used. The case will be ignored.
replacementThe replacement text.
stringThe searched string.
options
   The resultant string or false on error. 
   If string is not valid for the current encoding, null
   is returned.
  
| Versione | Descrizione | 
|---|---|
| 8.0.0 | optionsis nullable now. | 
| 7.1.0 | The function checks whether stringis valid for the
        current encoding. | 
| 7.1.0 | The emodifier has been deprecated. | 
Nota:
La codifica interna o la codifica dei caratteri specificata da mb_regex_encoding() sarà utilizzata come codifica ei caratteri per questa funzione.
non utilizzare mail il modificatore e quando si lavora con input non varificato. L'escaping automatico non sarà eseguito (come descritto in preg_replace()). Ignorare questo comportamento può generare nell'applicazione una vulnerabilità di esecuzione remota di codice.
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;
}
?>