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
.
pattern
The regular expression pattern. Multibyte characters may be used. The case will be ignored.
replacement
The replacement text.
string
The searched string.
options
The resultant string or false
on error.
If string
is not valid for the current encoding, null
is returned.
Version | Beschreibung |
---|---|
8.0.0 |
options is nullable now.
|
7.1.0 |
The function checks whether string is valid for the
current encoding.
|
7.1.0 |
The e modifier has been deprecated.
|
Hinweis:
Die interne Kodierung oder die mit mb_regex_encoding() festgelegte Zeichenkodierung wird als Zeichenkodierung für diese Funktion genutzt.
Der Modifikator e
sollte niemals verwendet werden, wenn mit Eingaben gearbeitet wird, die als nicht vertrauenswürdig gelten. Es erfolgt keine automatische Maskierung wie sie von der Funktion preg_replace() bekannt ist. Wenn dies nicht beachtet wird, führt es in der Anwendung höchstwahrscheinlich zu Sicherheitslücken bezüglich der Ausführung von entferntem Code.
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;
}
?>