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

Тема в разделе "PHP", создана пользователем phillip, 21 фев 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. phillip

    phillip

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


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

    $z=1;
    $textstr_replace($l$code$text$z);
    echo 
    $text;
    возвращает
    :bc::bc::bc:
    PHP Version 5.1.6
     
  2. Ins1ne

    Ins1ne Постоялец

    Регистр.:
    26 авг 2009
    Сообщения:
    89
    Симпатии:
    25
    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);
    попробуйте так
     
    phillip нравится это.
  3. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    спасибо. так работает. а что, стринг_реплейс, она такая корявая чтоли :(
     
  4. Ins1ne

    Ins1ne Постоялец

    Регистр.:
    26 авг 2009
    Сообщения:
    89
    Симпатии:
    25
    вот выдержка из мануала:
    так что работала она корректно
     
    phillip нравится это.
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
    Эта функция возвращает строку или массив subject, в котором все вхождения search заменены на replace.

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


    А ты пытаешься поставить ограничение на кол-во замен, которое в этой функции недоступно. И не функция корявая, а скорее вы :smmne:
     
    phillip нравится это.
  6. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    теперь поясните мне, в чем же я не прав. saen, как-то ты сам себе противоречишь. Написано же в мануале- кол-во замен можно указать, начиная с PHP 5.0.0. И тут же от себя добавляешь- нельзя указать. Дак можно или нельзя??? Прочтя мануал я и пробовал указать ограничение на кол-во замен. Недаром в первом посте написал версию пхп, чтобы сразу было ясно.
     
  7. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Сюда запишется количество замен, это не ограничитель, это счетчик.
     
    phillip нравится это.
Статус темы:
Закрыта.