За последние 24 часа нас посетили 16916 программистов и 1253 робота. Сейчас ищут 1426 программистов ...

Помогите с регуляркой

Тема в разделе "Регулярные выражения", создана пользователем DZEN, 29 апр 2008.

  1. DZEN

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

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    Регулярками в принципе никогда толком не пользовался, дальше разобраться не могу просто. Вот что есть:
    PHP:
    1.  
    2. <?php
    3. $str = "1_ согласен\r\n2_ подтверждено\r\n3_ пол Мужчина\r\n4_ 16 лет";
    4. preg_replace('/(\d+)_ (\w+)[\r\n]/i', '$2, ', $str);
    5. ?>
    6.  
    Желаемый результат:
    согласен, подтверждено, пол Мужчина, 16 лет,
    как написать что бы отслеживало еще и пробелы между словами (кроме пробелов там ничего не будет 100%) и цифры что-то никак не разберу.
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Код (Text):
    1. /\d+_\s+(.+?)[\r\n]/si
     
  3. DZEN

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

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    PHP:
    1. <?php
    2. $str = "1_ согласен\r\n2_ подтверждено\r\n3_ пол Мужчина\r\n4_ 16 лет";
    3. echo preg_replace('/(\d+)_\s+(.+?)[\r\n]/si', '$2, ', $str);
    4. ?>
    На выходе дает:
    согласен, подтверждено, пол Мужчина, 4_ 16 лет
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. $str = "1_ согласен\r\n2_ подтверждено\r\n3_ пол Мужчина\r\n4_ 16 лет";
    3. print preg_replace('/\d+_\s+([^\r\n]+)/si', '$1, ', $str);
     
  5. DZEN

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

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    Спасибо. Буду разбираться как работает.