За последние 24 часа нас посетили 20152 программиста и 1679 роботов. Сейчас ищут 1942 программиста ...

Замена указаного слова

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

  1. ageent

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

    С нами с:
    9 ноя 2008
    Сообщения:
    32
    Симпатии:
    0
    Как сделать что-бы заменилось только второе слово Three?
    Код (Text):
    1. <?php
    2.     $a = '
    3.     One
    4.     Two
    5.     Three
    6.    
    7.     One
    8.     Two
    9.     Three
    10.     ';
    11.     echo preg_replace("/(Three){2}/is", "", $a);
    12. ?>
    Это просто пример. Реальная задача намного сложнее. Можно-ли такое сделать на регулярке?
     
  2. rar

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

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Думаю, надо опережающую проверку использовать.
     
  3. Dima4321

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

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    PHP:
    1. <?php
    2. ini_set('display_errors',1);
    3.  
    4.  
    5.  
    6. $m ="  
    7.   One
    8.   nygnoe
    9.   Three
    10.    
    11.   One
    12.   Two
    13.   Three
    14.   ";
    15.  
    16. $poisk='/(\b[a-z]+\b)[^a-z]+(\b[a-z]+\b)/si';
    17.  
    18. preg_match($poisk,$m,$matches);
    19.  
    20.  
    21. echo $matches[2];
    22.  
    23.  
    24. ?>