регулярка для обрезки

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

Статус темы:
Закрыта.
Модераторы: xpert13
  1. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    есть строка

    например
    <h1 class=ertfdsfds>Нужная текстовка<h1>
    <h1 style="border:1px;">Нужная текстовка<h1>
    <H1 style="border:1px;">Нужная текстовка<H1>

    помогите взять из строки только "Нужная текстовка" - которая между тэгов h1
    при условии что тэгов h1 иногда не бывает

    я с помощью preg_match пытался но никак.. (нужно в PHP скриптик влепить регулярку)
     
  2. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    Не совсем понятно, что брать, если тега h1 нет

    PHP:
    preg_match("|<h1[^>]*>([^<]*)<h1>|is"$html$out)
     
    sympler нравится это.
  3. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    в таком случае брать все, просто учесть что тэгов H1 может и не быть
    вот код примера
    PHP:
     $zag "<h1 class='gdfg33'>Нужный текст</h1>";
     
    preg_match("|<h1[^>]*>([^<]*)</h1>|is"$zag$newzag);
     echo 
    $newzag[1];
    подправил, была опечатка в конце не <h1> а </h1>
    огромное спасибо, съэклномил время
    но только не берет нужный текст если заголовков h1 нету...
     
Статус темы:
Закрыта.