Отсечь лишнее и получить информацию.

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

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

    diab0583

    Регистр.:
    9 июл 2007
    Сообщения:
    199
    Симпатии:
    25
    Есть 5000 html файлов. В файлах код
    Код:
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
      <head>
        <title>********</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="copyright" content="*******" />
    
    <div class="content">
    [COLOR="Red"]информация[/COLOR]
          <div class="menu-taxonomy">
    <div class="views-field-title">
                    <span class="field-content"><a href="*****">****</a></span>
    
      </div>
    За звёздочками то что меняется.
    Мне нужно на выходе отсечь всё лишнее и получить информацию.
    Понятно что найти и заменить. Но как? Если текст меняется.
     
  2. alextet

    alextet Создатель

    Регистр.:
    22 мар 2007
    Сообщения:
    27
    Симпатии:
    2
    Если конечно такая последовательность больше не встречается, то можно так:
    /<div class="content">(.*?)<div class="menu-taxonomy">/
     
  3. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    312
    можно делать так(если в информации нет тегов:(
    /<div class="content">([^<]+)<div class="menu-taxonomy">/

    пример alextet у меня не идет, если в информации присутствуют переносы строки.
     
  4. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Для совпадения точки с переном строки служит модификатор s
    Код:
    /<div class="content">(.*?)<div class="menu-taxonomy">/s
     
  5. diab0583

    diab0583

    Регистр.:
    9 июл 2007
    Сообщения:
    199
    Симпатии:
    25
    У меня с PHP туго.:( Можете пример написать?:)
    Или ссылку на прогу, которая сможет помочь.
     
  6. alextet

    alextet Создатель

    Регистр.:
    22 мар 2007
    Сообщения:
    27
    Симпатии:
    2
    <?
    $str = '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
    <head>
    <title>********</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="copyright" content="*******" />

    <div class="content">
    информация
    <div class="menu-taxonomy">
    <div class="views-field-title">
    <span class="field-content"><a href="*****">****</a></span>

    </div>';
    preg_match('/<div class="content">(.*?)<div class="menu-taxonomy">/s', $str, $res);
    print_r($res);
    ?>
    А вобще учите PHP или платите денюжку знающим людям и будет вам счастье.
     
Статус темы:
Закрыта.