Несрабатывает условие preg_match при разборе. что не так?

Тема в разделе "Как сделать...", создана пользователем KPACHODAP, 16 фев 2015.

  1. KPACHODAP

    KPACHODAP DELETED

    Регистр.:
    21 дек 2009
    Сообщения:
    641
    Симпатии:
    111
    Мне надо разобрать и вынуть текст. почему не срабатывает разбор помогите плиз ступор((((






    нужно вытянуть только текст! без картинок но желательно с разметкой <p>


    Код:
    
    $cat_desc_3 = "";
         if(preg_match('#<article[\s]class="clearfix[\s]page-article[\s]full_page">\s*(?:.*)(?P<cat_desc_3>.*)\s*</article>#siU',$data,$matches)) {
           $cat_desc_3 = strip_tags(replace_text($matches['cat_desc_3']));
         } else echo "<span style'color:red'><a href='$href' target='_blank'><b>cat_desc_3!</b> $href</a></span><br>";
    
    Беда я так понима. гдето тут: \s*(?:.*)(?P<cat_desc_3>.*)\s*


    я сделал разбор но он ругаеться постоянно что не так? За ранее благодарен!
     
    Последнее редактирование: 16 фев 2015
  2. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    192
    Симпатии:
    233
    С регуляркой все номально. В $matches['cat_desc_3'] записывается все что было между <article> ... </article>.
    В примере есть некая replace_text() может обойтись без неё?
    PHP:
    $cat_desc_3 strip_tags($matches['cat_desc_3'], '<p><h3><h2>');
     
  3. ip027

    ip027 Создатель

    Регистр.:
    19 фев 2007
    Сообщения:
    22
    Симпатии:
    7
    Вызов неизвестной функции replace_text()