За последние 24 часа нас посетили 14956 программистов и 1764 робота. Сейчас ищут 1527 программистов ...

str_replace не корректно работает

Тема в разделе "Регулярные выражения", создана пользователем rustoke, 7 дек 2015.

  1. rustoke

    rustoke Новичок

    С нами с:
    20 сен 2014
    Сообщения:
    145
    Симпатии:
    0
    Почему последний элемент в массиве (- г.в.) не заменяет????
    Код (PHP):
    1. $list = str_replace(array(" другая", "- 0 г.в.", "- г.в."), array("", "", ""), $list);
    2.  
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    что лежит в $list ?
    а то телепаты в отпуске
     
  3. rustoke

    rustoke Новичок

    С нами с:
    20 сен 2014
    Сообщения:
    145
    Симпатии:
    0
    Код (PHP):
    1. $list = "Куплю а/м - г.в. ";
    2.  
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.097
    Симпатии:
    1.241
    Адрес:
    там-сям
    Вообще-то здесь всё ок. Я простым копированием сделал тестовый файл и что надо заменилось.

    Может у тебя в разных местах кодировка разная? Или данные не такие, например, где-то регистр отличается или вместо русской буковки её похожий латинский братец. М?
     
  5. rustoke

    rustoke Новичок

    С нами с:
    20 сен 2014
    Сообщения:
    145
    Симпатии:
    0
    Я скопировал из list. Еще заметил, что без знака тире работает, а с ним (- г.в.) нет , но если так сделать (- 0 г.в.), то тоже работает

    Добавлено спустя 3 минуты 2 секунды:
    Разобрался! Оказывается между тире и аббревиатурой было 2 пробела! Визуально это видно не было(
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.097
    Симпатии:
    1.241
    Адрес:
    там-сям
    Дык! Браузер любую последовательность пробельных символов показывает как один пробел