Помогите с preg_replace

Статус
В этой теме нельзя размещать новые ответы.

Lexx59

Профессор
Регистрация
9 Янв 2009
Сообщения
183
Реакции
38
Помогите разобраться.
Почему-то код
Код:
for ($i=0; $i<100; $i++){
	if (!strstr($myshab, "[RANDKEYWORD]")) break 1;
	$myshab=preg_replace("/\[RANDKEYWORD\]/", GetRandKeyword(), $myshab, 1);
}
работает. И в шаблоне в нужном месте делает подстановку.
Однако, если в том же шаблоне вставить [RANDKEYWORD2]
и изменить код на
Код:
for ($i=0; $i<100; $i++){
	if (!strstr($myshab, "[RANDKEYWORD2]")) break 1;
	$myshab=preg_replace("/\[RANDKEYWORD2\]/", GetRandKeyword(), $myshab, 1);
}
то он ничего не меняет :(
Где стоит искать проблему?
 
Странно, у меня твой код нормально отрабатывает.
Какая версия PHP у тебя?

Попробуй у себя прогнать код:
PHP:
$myshab = "Foo [RANDKEYWORD2] Bar";
if (!strstr($myshab, "[RANDKEYWORD2]")) die("not found");
$myshab = preg_replace("/\[RANDKEYWORD2\]/", "GOOD", $myshab, 1);
echo $myshab;
 
Хм.
"Foo GOOD Bar"

PHP Version 4.4.9
 
Ну значит у тебя все нормально в этом участке кода, ищи ошибку где-то выше

Кстати, PHP 4-й может такие казусы выдавать, поставь лучше PHP 5 (обратись в техподдержку к прову)
 
такое ощущение, что функции из файла "functions.php" где-то закешировались %)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху