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
.
pattern
L'expression rationnelle. Les caractères multi octets peuvent être utilisés. La casse sera ignorée.
replacement
Le texte de substitution.
string
La 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 |
options est désormais nullable.
|
7.1.0 |
Cette fonction vérifie si string est valide pour
l'encodage courant.
|
7.1.0 |
Le modificateur e est 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;
}
?>