[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: str_ireplace
cyberside
Возникла проблема в работе str_ireplace. Нехочет заменять рус.



Спустя 2 минуты, 52 секунды (28.06.2012 - 18:06) pak написал(а):
а кодировка какая????

Спустя 55 секунд (28.06.2012 - 18:07) cyberside написал(а):
кодировка страницы cp1251

Спустя 1 минута, 27 секунд (28.06.2012 - 18:08) Guest написал(а):
Видать в гугле забанили. И под русским я подозреваю имеется в виду утф 8


function mb_str_ireplace($search, $replace, $subject, $count = null, $encoding = u8) {
$l1 = mb_strlen($search, $encoding);
$l2 = mb_strlen($replace, $encoding);
$rc = 0;
$offset = 0;
while(ok($p = mb_stripos($subject, $search, $offset, $encoding)) && (is_null($count) || $rc <= $count)) {
if (ok($p))
$subject = mb_substr($subject, 0, $p, $encoding) . $replace . mb_substr($subject, $p + $l1, mb_strlen($subject, $encoding), $encoding);
$offset = $p + $l2;
$rc++;
}
return $subject;
}

Спустя 10 минут, 27 секунд (28.06.2012 - 18:19) pak написал(а):
Я щас попробовал в utf-8, работает)

Спустя 11 минут, 53 секунды (28.06.2012 - 18:31) fdr написал(а):
while(ok($p = mb_stripos($subject, $search, $offset, $encoding)) && (is_null($count) || $rc <= $count))

while(ok
- ok что за функция? разве в PHP она есть? просвитите!))

Спустя 22 секунды (28.06.2012 - 18:31) Игорь_Vasinsky написал(а):
strtr() wink.gif

Спустя 34 минуты, 7 секунд (28.06.2012 - 19:05) twin написал(а):
Guest
А как быть с массивами? Да и вообще, посимвольный анализ - не дело в PHP, для этого давно придуманы регулярки. Вот всего то навсего:
function mb_str_ireplace($search, $replace, $subject, $count = -1)
{

$search = is_array($search) ? array_map(create_function('$s', 'return \'#\'. preg_quote($s) .\'#uis\';'),
$search
) : '#'. preg_quote($search) .'#uis';

return preg_replace($search, $replace, $subject, $count);
}

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.