ФорумПрограммированиеPHP для идиотов → правильно выпарсить данные

правильно выпарсить данные

  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 31 марта 2009 г. 9:23

    есть текст

    06:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/dobroe_utro.html&quot; class=&quot;tv-blue&quot;>Доброе утро
    09:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/1channel_novosti.html&quot; class=&quot;tv-blue&quot;>Новости
    09:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/malahov.html&quot; class=&quot;tv-blue&quot;>Малахов +
    10:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/modnyjo_prigovor.html&quot; class=&quot;tv-blue&quot;>Модный приговор
    11:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/kontrolnaya_zakypka.html&quot; class=&quot;tv-blue&quot;>Контрольная закупка
    12:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/1channel_novosti.html&quot; class=&quot;tv-blue&quot;>Новости
    12:20</span></td><td class=&quot;tv-broadcast-name x soap&quot;><p>Агент национальной безопасности</p><p>Один за другим гибнут преуспевающие бизнесмены, причем почерк убийств одинаков и достаточно необычен&amp;hellip;</p></td></tr><tr><td class=&quot;tv-broadcast-time&quot;><span class=&quot;tv-time&quot;>13:20</span></td><td class=&quot;tv-broadcast-name x movie&quot;><a href=&quot;http://tv.akado.ru/programs/detektivy.html&quot; class=&quot;tv-blue&quot;>Детективы
    14:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/drygie_novosti.html&quot; class=&quot;tv-blue&quot;>Другие новости
    14:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/ponyat._prostit.html&quot; class=&quot;tv-blue&quot;>Понять. Простить


    название программы может быть как &lt;/p> … &lt;p> так и class=&quot;tv-blue&quot;>…
    пробовал

      if(preg_match(&quot;/<p>(.*?)</p>/i&quot;, $value)){
    preg_match(&quot;#<p>(.*?)</p>#is&quot;, $value, $transf);
    $transf = $transf[&#39;1&#39;];
    }else{
    preg_match(&quot;#tv-blue\&quot;>(.*?)#is&quot;, $value, $transf);
    $transf = $transf[&#39;1&#39;];
    }

    чет не хочет
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 31 марта 2009 г. 9:26, спустя 2 минуты 53 секунды

    #&lt;p\s+(class=&quot;tv-blue&quot;)?>(.*?)&lt;/p>#is

    ой мля
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 31 марта 2009 г. 9:32, спустя 6 минут 5 секунд

    preg_replace(&#39;#&lt;p>(.*)&lt;/p>|\s*class=&quot;tv-blue&quot;>(.*)\s*#isU&#39;, &#39;\1\2&#39;, $text);
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 31 марта 2009 г. 9:44, спустя 11 минут 28 секунд

    :)

    06:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/dobroe_utro.html&quot;Доброе утро
    09:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/1channel_novosti.html&quot;Новости
    09:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/malahov.html&quot;Малахов +
    10:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/modnyjo_prigovor.html&quot;Модный приговор
    11:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/kontrolnaya_zakypka.html&quot;Контрольная закупка
    12:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/1channel_novosti.html&quot;Новости
    12:20</span></td><td class=&quot;tv-broadcast-name x soap&quot;>Агент национальной безопасностиОдин за другим гибнут преуспевающие бизнесмены, причем почерк убийств одинаков и достаточно необычен&amp;hellip;</td></tr><tr><td class=&quot;tv-broadcast-time&quot;><span class=&quot;tv-time&quot;>13:20</span></td><td class=&quot;tv-broadcast-name x movie&quot;><a href=&quot;http://tv.akado.ru/programs/detektivy.html&quot;Детективы
    14:00</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/drygie_novosti.html&quot;Другие новости
    14:20</span></td><td class=&quot;tv-broadcast-name x&quot;><a href=&quot;http://tv.akado.ru/programs/ponyat._prostit.html&quot;Понять. Простить
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 31 марта 2009 г. 10:08, спустя 24 минуты 14 секунд

    че не так чтоль?? #&lt;p>(.+)&lt;/p>|class=&quot;tv-blue&quot;>(.+)#i
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 31 марта 2009 г. 10:28, спустя 20 минут 21 секунду

    вы пиздец мудаки! ))

    &lt;p[^>]*>(.*?)&lt;/p>

    и не ебите моск)
    Сапожник без сапог
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 31 марта 2009 г. 10:32, спустя 3 минуты 22 секунды

    ну пройдись ей по тексту который он дал..
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 31 марта 2009 г. 10:34, спустя 1 минуту 41 секунду

    Pasha, дай ссылку на страницу откуда пиздишь

    А я тебе сажу как надо жить (с) дуд
    Сапожник без сапог
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 31 марта 2009 г. 10:43, спустя 9 минут 4 секунды

    http://tv.akado.ru/channels/1_kanal.html?channel=36&time=2009-03-30

    Нужно парсить дату и название программы.

    парсю циклом
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 31 марта 2009 г. 13:16, спустя 2 часа 33 минуты 22 секунды

    Pasha, только мудаки парсят циклом.

    http://94.31.169.103/tv.php

    <?
    header(&quot;Content-type: text/html; charset=utf-8&quot;);

    $content = file_get_contents(&quot;http://tv.akado.ru/channels/1_kanal.html?channel=36&amp;time=2009-03-30&quot;);

    preg_match(&quot;#<table class=\&quot;tv-channel-full\&quot;>(.*?)</table>#ism&quot;,$content,$table);
    preg_match_all(&quot;#<tr><td class=\&quot;tv-broadcast-time\&quot;><span class=\&quot;tv-time\&quot;>(.*?)</span>.*?class=\&quot;tv-blue\&quot;>(.*?)</a><p>(.*?)</p>#ism&quot;,$table[1],$data,PREG_SET_ORDER);

    echo &quot;<pre>&quot;;
    print_r($data);
    Сапожник без сапог
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 31 марта 2009 г. 13:16, спустя 20 секунд

    коварные парни парсят прегматчоллом
    Сапожник без сапог
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 31 марта 2009 г. 13:35, спустя 19 минут 8 секунд

    йопа) четка) спасиба дюд :)
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 31 марта 2009 г. 13:52, спустя 16 минут 12 секунд

    не куда
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 1 апреля 2009 г. 0:41, спустя 10 часов 49 минут 24 секунды

    phpdude, а не проще ли первый прег заменить на сабстринг?
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 1 апреля 2009 г. 2:02, спустя 1 час 20 минут 37 секунд

    CTAPbIu_MABP, а смысл? время потраченое на скачивание документа сожрет всю эту байт оптимизацию с лихвой. не тсороник байт оптимизации :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!