За последние 24 часа нас посетили 45335 программистов и 1813 роботов. Сейчас ищут 903 программиста ...

Помогите составить паттерн

Тема в разделе "PHP для новичков", создана пользователем viphost, 23 апр 2012.

  1. viphost

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

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    Есть страница с кодом
    Код (Text):
    1. <html>
    2. <body>
    3. код код код
    4. <div class="clr"></div>
    5. текст текст текст
    6. <div class="clr"></div>
    7. код код код
    8. </body>
    9. </html>
    Нужно выпилить все что между
    Код (Text):
    1. <div class="clr"></div>
    Делаю так
    Код (Text):
    1.  
    2. $content = $page['content'];
    3. $post = '/<div class\=\"clr\"><\/div>([^\"]+)<div class\=\"clr\"><\/div>/';
    4. if (preg_match_all($post,$content,$out,PREG_SET_ORDER)) {
    5.     foreach($out as $key => $value){
    6.         echo'<br>key='.$key.' - '.$value[1].';
    7.     }
    8. }
    и ничего не выводит =(
     
  2. VItalijs

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

    С нами с:
    17 дек 2008
    Сообщения:
    244
    Симпатии:
    0
    Адрес:
    Рига, Латвия
    Код (PHP):
    1. $str = '<html>
    2. <body>
    3. код код код
    4. <div class="clr"></div>
    5. текст текст текст
    6. <div class="clr"></div>
    7. код код код
    8. <div class="clr"></div>
    9. код код код
    10. <div class="clr"></div>
    11. </body>
    12. </html>';
    13.  
    14. $post = '/(?<=<div class="clr"><\/div>)([^\"]+)(?=<div class="clr"><\/div>)/i';
    15. if (preg_match_all($post, $str, $out)){
    16.     print_r($out);
    17.     foreach ($out[1] as $key => $value) {
    18.         print_r($value);
    19.     }
    20. }