По разному работает регулярное выражение.

pashin

Новичок
По разному работает регулярное выражение.

preg_replace("/(".implode('|',$search_array).")/i","<span style=background:yellow>\\1</span>",$text)
Ииспользую это выражение что бы выделить в тексте те слова, которые искал пользователь.
На локальной машине выделяет без учета регистра букв.
А на сервере с учетом регистра, т.е. Вася выделяет, а ВаСя нет.
 

pashin

Новичок
Спасибо.
Сделал так: setlocale (LC_ALL, 'rus','russian','english');
Не помогло.
Размещал в начале скрипта и в начале страницы.
 

baev

‹°°¬•
Команда форума
Сделал так: setlocale (LC_ALL, 'rus','russian','english');
Не помогло.
Явно начинающий телепат.
Типа, угадать пытались, да?
И не угадали...

Ну, тренируйтесь.
 

uliss

Новичок
Вроде нет такой локади 8)
Попробуй
echo selocale(LC_ALL, NULL); на сервере и на на локальном компе.
Покажи, что выводит
 

pashin

Новичок
setlocale (LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));
Нет не угадывал в Я нашел :)
Потом прошелся поиском по форуму и заработало.

Еще раз спасибо.

-~{}~ 24.09.06 19:57:

А где лучше вызывать это ф-ю или по барабану, лишь бы работало?
 

phprus

Moderator
Команда форума
baev
А смысл? Разве один раз в начале скрипта будет недостаточно?
 

SiMM

Новичок
> А смысл? Разве один раз в начале скрипта будет недостаточно?
Разве кто-то предлагал это делать неоднократно?
 

Sanchez

Новичок
Такая же фигня:

setlocale (LC_ALL, 'ru_RU.CP1251');
$String = preg_replace("/(.*)($ToFind)(.*)/i","\$1 $ReplaceString \$3",$String);

Но замена все равно регистро-зависимая! Такая локаль на хостере вроде есть, по крайней мере на другом их аналогичном серваке (именно на том не знаю реквизитов для SSH) (masterhost).

Пробовал и так:
setlocale (LC_ALL, array ('ru_RU.CP1251', 'rus_RUS.1251'));

Один фиг. Что делаю не так?
 
Сверху