не работает eregi_replace...

Discussion in 'PHP' started by Alien_z, 25 Jan 2007.

  1. Alien_z

    Alien_z New Member

    Joined:
    16 Jan 2007
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Вот так работает:
    Code:
    <?php
    $strFrom = "привет";
    $strTo = "здарова";
    $str = "пРиВеТ привет";
    $str = eregi_replace($strFrom, $strTo, $str);
    echo $str;
    ?>
    Выводит: здарова здарова

    А вот так нет:
    Code:
    <?php
    $strFrom = array("привет", "хеллоу");
    $strTo = "здарова";
    $str = "пРиВеТ привет";
    $str = eregi_replace($strFrom, $strTo, $str);
    echo $str;
    ?>
    Выводит: пРиВеТ привет
    Помогите плз...
     
  2. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    а она с массивами работает? я просто не помню
     
  3. toooto

    toooto New Member

    Joined:
    15 Jan 2007
    Messages:
    2
    Likes Received:
    3
    Reputations:
    3
    Вот универсальный вариант, $strFrom может быть и строкой и массивом:
    Code:
    <?
    $strFrom = array("привет", "хеллоу");
    $strTo = "здарова";
    $str = "пРиВеТ привет приВет апвп хЛлоу";
    if(is_array($strFrom)){ while(list($e,$strsFrom)=each($strFrom)) $str = eregi_replace($strsFrom, $strTo, $str); }
    else $str = eregi_replace($strFrom, $strTo, $str);
    echo $str;
    ?>
    
     
    1 person likes this.
  4. bopoh13

    bopoh13 Elder - Старейшина

    Joined:
    31 Oct 2006
    Messages:
    195
    Likes Received:
    20
    Reputations:
    0
    [удалено]

    Справка:
    string = строка ;)
     
    #4 bopoh13, 26 Jan 2007
    Last edited: 26 Jan 2007
  5. toooto

    toooto New Member

    Joined:
    15 Jan 2007
    Messages:
    2
    Likes Received:
    3
    Reputations:
    3
    bopoh13, ему нужно в строке "пРиВеТ привет" заменить слова "привет", "хеллоу" на "здарова". А у тебя вместо "привет", "хеллоу" только "привет". И зачем тебе массив в строку переводить: $arr = array('пРиВеТ', 'привет'); $str = implode(' ', $arr); ? :)
     
    1 person likes this.
  6. bopoh13

    bopoh13 Elder - Старейшина

    Joined:
    31 Oct 2006
    Messages:
    195
    Likes Received:
    20
    Reputations:
    0
    Прошу прощенья, был не прав!
    Мда... :rolleyes: по сути первый пример Alien_z получился...
    ЗЫ: пойду еще мануал почитаю...