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.
  
| Версія | Опис | 
|---|---|
| 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. | 
Зауваження:
Для цієї функції буде використане внутрішнє кодування символів або те, яке визначене функцією mb_regex_encoding().
Не можна використовувати
модифікатор e, працюючи з неперевіреними вхідними даними тому,
що не відбувається автоматичного екранування (на відміну від
preg_replace()). Ігнорування цієї поради, швидше за все,
зробить програму вразливою до віддаленого виконання коду.
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;
}
?>