str_replace и количество замен

Marquis

Новичок
str_replace и количество замен

Столкнулся со следующей траблой.
Есть код
PHP:
while (preg_match ($pattern, $string, $matches)) {
	
	$string = str_replace ($matches[0], 'string', $string, 1);
	
	$i++;
	
}
Работает нормально, меня устраивает.
Вопрос возник при переносе кода на php 4 где как извесно у функции str_replace нет возможности указать доп. аргумент количесва замен в строке.

Собсна вопрос, как выйти из ситуации? как правильнее было бы переписать код в расчете на то, что в php 4 в отличии от php 5 функции str_replace нет возможности передать аргумент количесва замен в строке?
 

hermit_refined

Отшельник
О боже!..
Во-первых, str_replace - 4-ый параметр - не кол-во замен, которые должны быть произведены, а ссылка, по которой возвращается кол-во произведённых замен. Кстати, этот код должен давать Fatal Error.
Во-вторых, пример потрясающий.
В-третьих, вам давным давно уже сказали, как это нормально сделать с preg_replace_callback - а вы уже третий день какой-то чушью маетесь! Это спам.
 

Marquis

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

preg_replace_callback не подходит так как релизуется одним из двух вариантов

Разумеется, возможно - либо через глобальные переменные (не ахти способ), либо через классы.
которые для меня не совсем приемлимы.

ps. Модераторы удалите тему, тут один бред, сорри.
 
Сверху