неверно работает str_replace!!! хелп!

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

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Похоже что в пхп глюк. иначе я не знаю.... Суть в том что надо заменить только первое вхождение с помощью str_replace! пробую так:


PHP:
$text='MESTO_FOR_ZAMENA dfsdfsd MESTO_FOR_ZAMENA fsxcv MESTO_FOR_ZAMENA';
$l='MESTO_FOR_ZAMENA';
$code='zamenili';

$z=1;
$text= str_replace($l, $code, $text, $z);
echo $text;
возвращает
zamenili dfsdfsd zamenili fsxcv zamenili
:bc::bc::bc:
PHP Version 5.1.6
 
PHP:
$text='MESTO_FOR_ZAMENA dfsdfsd MESTO_FOR_ZAMENA fsxcv MESTO_FOR_ZAMENA';
$l='/MESTO_FOR_ZAMENA/';
$code='zamenili';

$z=1;
echo preg_replace($l, $code, $text, $z);
попробуйте так
 
спасибо. так работает. а что, стринг_реплейс, она такая корявая чтоли :(
 
вот выдержка из мануала:
Эта функция возвращает строку или массив subject, в котором все вхождения search заменены на replace. Если не нужны сложные правила поиска/замены, использование этой функции предпочтительнее ereg_replace() или preg_replace().
так что работала она корректно
 
спасибо. так работает. а что, стринг_реплейс, она такая корявая чтоли :(

mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
Эта функция возвращает строку или массив subject, в котором все вхождения search заменены на replace.

А теперь самое главное:
Начиная с PHP 5.0.0 количество произведенных замен может быть получено в необязательном аргументе count, который передается по ссылке.


А ты пытаешься поставить ограничение на кол-во замен, которое в этой функции недоступно. И не функция корявая, а скорее вы :smmne:
 
теперь поясните мне, в чем же я не прав. saen, как-то ты сам себе противоречишь. Написано же в мануале- кол-во замен можно указать, начиная с PHP 5.0.0. И тут же от себя добавляешь- нельзя указать. Дак можно или нельзя??? Прочтя мануал я и пробовал указать ограничение на кол-во замен. Недаром в первом посте написал версию пхп, чтобы сразу было ясно.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху