На локальном компе такое работает прекрасно:
$str_page = "Это тест нетест тест просто слова тест и другие";
$pattern = "тест";
$replace = "[[тест]]";
echo preg_replace('/\b'.$pattern.'\b/i', $replace, $str_page);
Но на сервере провайдера не работают "\b" с кириллицей. Как можно их заменить? Пробовал "\W", но оно не работает, если строка начинается со слова, подлежащего замене (в данном случае - если начинается с "тест"). Кроме того, "\W" "съедает" проблемы между словами.
Подскажите, пожалуйста.
Спустя 13 минут, 40 секунд (15.02.2011 - 19:12) dimabin написал(а):
"\W" на сервере у провайдера тоже не работает вообще никак. Что еще можно сделать?
Спустя 1 минута, 2 секунды (15.02.2011 - 19:13) inpost написал(а):
если UTF, то мета u
Спустя 12 минут, 29 секунд (15.02.2011 - 19:25) dimabin написал(а):
нет, не помогает /u
Спустя 24 минуты, 59 секунд (15.02.2011 - 19:50) DedMorozzz написал(а):
$a = preg_replace('#тест#b','ZZZ',$a);
Спустя 5 минут, 12 секунд (15.02.2011 - 19:56) dimabin написал(а):
$a = preg_replace('#тест#b','ZZZ',$a);
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'b' in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\regexp\2.php on line 11
Спустя 18 минут, 45 секунд (15.02.2011 - 20:14) DedMorozzz написал(а):
гоню))) Не то написал.
$a = preg_replace('#\sтест\s#is','ZZZ',$a);