мультибайтоывя заменя взята из ядра bitrix function mb_str_replace nee

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// мультибайтоывя заменя, взята из ядра bitrix
function mb_str_replace($needle, $replace_text, $haystack)
{
return implode($replace_text, mb_split($needle, $haystack));
}
// подсветка результата поиска в заголовке (не зависит от регистра)
function getFormatSearchTitle($wordCur, $textCur)
{
// в нижний регистр
$textLower = ToLower($textCur);
$wordLower = ToLower($wordCur);
// запомнить позицию вхождения в строках в нижнем регистре
$posBegin = Bxstrrpos($textLower, $wordLower);
// получить длину строки
$textLength = mb_strlen($wordLower);
// получить подстроку по оригиналу от и до символов
$textSubStr = mb_substr($textCur, $posBegin, $textLength);
// на что меняем
$strReplace = '<b style="color:#34a2f8; background:#fed330;">'.$textSubStr.'</b>';
// меняем подстроку на $strReplace
//$textResult = mb_substr_replace($textCur, $strReplace, $posBegin, $textLength);
$textResult = mb_str_replace($textSubStr, $strReplace ,$textCur);
return $textResult;
}