За последние 24 часа нас посетили 17913 программистов и 1610 роботов. Сейчас ищут 939 программистов ...

Замена символов

Тема в разделе "Прочие вопросы по PHP", создана пользователем dirtystuFF, 17 июн 2011.

  1. dirtystuFF

    dirtystuFF Активный пользователь

    С нами с:
    17 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    У меня есть строка с ненужными мне знаками(это скобки(), пробел, знак сложения+, и знак -), их в тексте может встречаться неограниченное кол-во. как я могу от них избавится.
    пробовал использовать методы ereg_replace, preg_replace , пробелы, тире удаляются нормально а вот знак + и кавычки () не в какую(
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    PHP:
    1. <?
    2. $new_string = preg_replace('/\+\-\)\(\ /', '', $string);
     
  3. dirtystuFF

    dirtystuFF Активный пользователь

    С нами с:
    17 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    не работает(
    PHP:
    1.  
    2. $tel = '+7 (009)232-32-23';
    3. echo $tel;
    4. echo "<br>";
    5. $str = preg_replace('/\+\-\)\(\ /', '', $tel);
    6. echo $str;
    7.  
    результат:
    +7 (009)232-32-23
    +7 (009)232-32-23
     
  4. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    PHP:
    1. <?php
    2.  
    3. $tel = '+7 (009)232-32-23';
    4. echo $tel;
    5. echo "<br>";
    6.  
    7. $str = preg_replace('#[-+ ()]#sUi', '', $tel);
    8. echo $str;
    хотя для данного случая была бы лучше другая регулярка "оставить только цифры"

    $str = preg_replace('#[^0-9]#sUi', '', $tel);
     
  5. artemKuzmin

    artemKuzmin Активный пользователь

    С нами с:
    18 май 2011
    Сообщения:
    72
    Симпатии:
    0
    если рег выражения не особо знаеш используй функцию string strtr ( string str, string from, string to )