Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Program Telewizyjny [v2], Skrypt, PHP 4 i 5
tiraeth
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam!

Dzisiaj napisałem kolejny program telewizyjny (widać mało ich w sieci). Program ten jest w stanie pobrać ramówki wszystkich kanałów dostępnych na <span style="font-weight: bold;">tv.wp.pl</span>. Nareszcie udało mi się skorygować problem z sortowaniem, gdy program zaczyna się po północy (np. 00:40) - sprawdzam czy jakiś się właśnie o tej godzinie rozpoczyna i dodaję do niego jeden dzień. Dobra koniec gadania, oto kod:
  1. <?php
  2. # Przykładowe stacje do wykorzystania
  3.  
  4. # TVP1  1
  5. # TVP2  2
  6. # TV Polonia  3
  7. # Polsat  5
  8. # Polsat 2  6
  9. # TVN  17
  10. # TV4  18
  11. # TVP3 Wrocław 30
  12. # Jetix  74
  13. # TVNSiedem 238
  14. # Cartoon Network 361
  15.  
  16. $stacja = '1';
  17.  
  18.  $url = 'http://tv.wp.pl/index_druk.html?T[date]='.date('Y-m-d').'&T[time]=0&T[category]=ALL&T[station]='.$stacja;
  19.  
  20.  $file = file($url);
  21.  $read = implode('', $file);
  22.  $read = str_replace(&#092;"n\", \"\", $read);
  23.  $read = str_replace(&#092;"r\", \"\", $read);
  24.  
  25.  if(preg_match('/<table width=\"585\" cellpadding=\"3\" cellspacing=\"0\" border=\"1\" class=\"drukowalne\" >(.*?)</table>/', $read, $zmienna))
  26.  {
  27. $wynik = $zmienna[0];
  28.  }
  29.  
  30.  if(preg_match_all('/<td class=\"drukowalne\" bgcolor=\"(.*?)\" width=\"35\" valign=\"top\" align=\"right\" nowrap>(.*?)</td><td class=\"drukowalne\" bgcolor=\"(.*?)\" valign=\"top\">(.*?)</td>/', $wynik, $result))
  31.  {
  32. $godziny = $result[2];
  33. $program = $result[4];
  34.  
  35. foreach($program as $key => $value)
  36. {
  37.  $program[$key] = explode('<span class=\"SGinfo\">', $program[$key]);
  38.  
  39.  $programy[$key] = $program[$key][0];
  40. }
  41.  
  42. unset($program);
  43.  
  44. foreach($programy as $key => $value)
  45. {
  46.  $programy[$key] = strip_tags($programy[$key]);
  47. }
  48.  
  49.  
  50. foreach($godziny as $key => $value)
  51. {
  52.  $godziny[$key] = strip_tags($godziny[$key]);
  53.  
  54.  if($key > 5 && eregi('00:', $godziny[$key]))
  55.  {
  56. $time = date('d F Y', time()+3600*24);
  57. $time.= ' '.$godziny[$key].':00';
  58.  }
  59.  else
  60.  {
  61. $time = date('d F Y');
  62. $time.= ' '.$godziny[$key].':00';
  63.  }
  64.  $program[$key]['godzina'] = strtotime($time);
  65.  $program[$key]['program'] = $programy[$key];
  66. }
  67.  
  68. unset($programy);
  69.  
  70. $teraz_czas = time();
  71.  
  72.  for($i=0; $i<count($program); $i++)
  73.  {
  74. if($program[$i]['godzina'] <= $teraz_czas)
  75. {
  76.  echo '<span style=\"font-family:Verdana; font-size:10px; color:silver\"><b>'.date('H:i', $program[$i]['godzina']).'</b> '.$program[$i]['program'].'</span><br />';
  77. }
  78. else
  79. {
  80.  echo '<span style=\"font-family:Verdana; font-size:10px; color:black\"><b>'.date('H:i', $program[$i]['godzina']).'</b> '.$program[$i]['program'].'</span><br />';
  81. }
  82.  }
  83.  
  84.  }
  85. ?>

Sorki za brak komentarzy w kodzie ale narazie jest to wersja RC (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Więc będzie jeszcze dużo zmian (np. logo stacji, obrazek trwa etc.)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 15:50