Неккореткная работа preg_replace на сервере

golos81

Новичок
Неккореткная работа preg_replace на сервере

Есть такое выражение

$result = preg_replace('~\w*(?:'.$_GET['find'].')\w*~i','<b>$0</b>',$title_search[$i]);

Оно делате слово полностью жирным, если есть вхождение $_GET['find']. На локальной машине все работает нормально. Когда запускаю на сервере, подсвечиваются только $_GET['find'], а не слово целиком.

В чем может быть дело?
 

golos81

Новичок
А как мне посмотреть значения локали сначала на локальной машине, а потом эти значения перенести на сервер?

-~{}~ 01.07.06 14:03:

Автор оригинала: sage
а для чего ты применяешь ?: ?
Подсвечиваю в поиске найденные слова.

-~{}~ 01.07.06 14:14:

Автор оригинала: WP
[m]setlocale[/m]. Дело именно в этом.
Спасибо, разобрался:)

-~{}~ 01.07.06 14:51:

Возникла другая проблема.
Добавил
Setlocale (LC_ALL, 'ru_RU.CP1251'); и после этого в числах float точки заменились на запятые.
Как их вернуть назад, что-то не соображу?
 

WP

^_^
1. Зачем в (?: ... ) заключать. Что это даст? Ведь количественный квантификатор для этой подмаски не указан.
2. По поводу float - кури [m]setlocale[/m].
3. А ты введи в поиск '~' и посмотри какой мат на тебя посыпется :) Используй [m]preg_quote[/m]($_GET['find'],'~')
$result = preg_replace('~\w*(?:'.$_GET['find'].')\w*~i','<b>$0</b>',$title_search[$i]);
А можно передать find = ...~e%00 и взломать :)
 
Сверху