Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [TV] Program - znowu, Funkcja, 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%)
-----


Kolejna odsłona. Funkcja zwraca tablicę z programem na dany dzień, konkretny przedział czasu i odpowiedni kanał - wszystko przekazywane za pomocą parametrów funkcji. Po odebraniu takiej tablicy możemy zrobić z nią wszystko (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dodatkowo zwracany jest (zazwyczaj) jeden Hit Dnia, u którego jeden z kluczy w tablicy to hit=true!

  1. <?php
  2. /************************************************************************
  3.  *
  4.  * ********************************
  5.  *
  6.  *  PROGRAM TELEWIZYJNY
  7.  *
  8.  ************************************************************************/
  9.  
  10. function programTV($tv_stacja = false, $date = false, $from_to = false)
  11. {
  12.  $data = ($date) ? $date : date('Y-m-d');
  13.  $stacja = ($tv_stacja) ? $tv_stacja : 17;
  14.  $titles = array('Kawa czy herbata?', 'Przyroda Ameryki'); # ITD...
  15.  
  16.  if(!eregi('..', $from_to))
  17. $from_to = false;
  18.  
  19.  define('TV_DATA', $data); # Domyslna data wyswietlania
  20.  define('TV_STACJA_ID', $stacja); # Numer stacji
  21.  define('FROM_TO', $from_to); # Zakres godziny przy wyswietlaniu
  22. # OD..DO, np. 12:00..14:00
  23. # lub "false" aby caly dzien wyswietlic
  24.  
  25.  $url = 'http://tv.wp.pl/index_druk.html?T[date]='.TV_DATA.'&T[time]=0&T[category]=ALL&T[station]='.TV_STACJA_ID.'&T[page]=1&T[ctime]=0';
  26.  
  27.  $handle = implode("", file($url));
  28.  
  29.  if(preg_match_all('#<b class="ng">(.*?)</b>#is', $handle, $nazwa))
  30.  {
  31. define('TV_STACJA', $nazwa[1][0]);
  32.  
  33. if(preg_match_all('#<td class="drukowalne" (.*?)</td>#is', $handle, $result))
  34. {
  35.  $res = $result[1];
  36.  $i=0; $a=0; $b=0;
  37.  
  38.  while($b<count($res)/2)
  39.  {
  40. $tmp = '<'.$res[$i];
  41.  
  42. if(eregi('hit.gif', $tmp) && $ishit == false) {
  43.  $hit = true;
  44.  $ishit = true;
  45. }
  46. else
  47.  $hit = false;
  48.  
  49. $date = strip_tags($tmp, '<br>');
  50. $tmp = '<'.$res[$i+1];
  51. $title = strip_tags($tmp, '<br>');
  52. $desc = '';
  53.  
  54. if(eregi('<br>', $title))
  55. {
  56.  $list = explode('<br>', $title);
  57.  $title = $list[0];
  58.  
  59.  for($j=1; $j<count($list); $j++)
  60.  {
  61.  $desc.= $list[$j].'<br>';
  62.  }
  63.  $desc = substr($desc, 0, -4);
  64.  if(strlen($desc) < 25) $desc = '  ';
  65. }
  66.  
  67. if(count($titles) > 0)
  68. {
  69.  foreach($titles as $t)
  70.  {
  71. if(eregi($t, $title))
  72.  $title = $t;
  73.  }
  74. }
  75.  
  76. $time = strtotime(TV_DATA.' '.$date);
  77. if(date('H', $time) <= 04 && date('i', $time) <= 40)
  78.  $time+= 3600*24;
  79.  
  80. $from = 0; $to = 0;
  81. if(ereg('..', FROM_TO))
  82. {
  83.  list($from, $to) = explode('..', FROM_TO);
  84.  
  85.  $from = strtotime(TV_DATA.' '.$from);
  86.  $to = strtotime(TV_DATA.' '.$to);
  87.  
  88. }
  89.  
  90. if(($from <> 0 AND $from <= $time AND $to <> 0 AND $to >= $time) OR FROM_TO == false)
  91. {
  92.  $Tab[$a]['time'] = $time;
  93.  $Tab[$a]['title'] = $title;
  94.  $Tab[$a]['desc'] = $desc;
  95.  
  96.  if($hit == true)
  97. $Tab[$a]['hit'] = true;
  98.  else
  99. $Tab[$a]['hit'] = false;
  100.  
  101.  $a++;
  102. }
  103. $i+=2;
  104. $b++;
  105.  }
  106. }
  107.  }
  108.  
  109.  return $Tab;
  110. }
  111. ?>


Sposób użycia
  1. <?php
  2. include('programTV.php'); # wczytujemy funkcję
  3.  
  4. $def = programTV(); # Odczytujemy na dzisiaj domyslnie kanal ID=17
  5. $dzisiaj = programTV(1); # Odczytujemy kanał o ID=1 na dzisiaj - cały dzień
  6. $rano = programTV(1, false, '03:00..12:00'); # Kanał ID=1, na dzisiaj, od 03:00 do 12:00
  7. $jutro = programTV(false, '2005-12-09', 18:00..24:00); # Na 9 grudnia, kanał domyślny, od 18:00 do 24:00
  8. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- tiraeth   [TV] Program - znowu   9.12.2005, 18:54:06
- - NuLL   Ja ladnie podziekuje za skrypt Co prawda na stron...   10.12.2005, 02:15:23
- - tiraeth   A nie ma za co Poprostu uważam, że taki bajer jes...   10.12.2005, 11:39:35
- - vihoo   Ja bym zmienił: [PHP] pobierz, plaintext <?php...   31.01.2006, 19:50:52
- - tiraeth   [PHP] pobierz, plaintext <?php foreach($t...   31.01.2006, 22:11:20
- - szygmon   [HTML] pobierz, plaintext Parse error: syntax erro...   31.07.2007, 12:44:21
- - phpion.com   również dziękuję za udostępnienie źródełka i podob...   31.07.2007, 15:01:05
- - roobik   ...a mi nie działa, ponieważ CytatParse error: syn...   2.08.2007, 14:24:50
- - szygmon   niech ktoś poprawi ten kod, żeby działał poprawnie   4.08.2007, 10:08:29
- - roobik   Przydałoby się... Nie jestem zbyt mocny w php. Ale...   8.08.2007, 22:56:28
- - Koshin   pierwotną linie 28 należy zmienić na: [PHP] pobie...   9.08.2007, 15:01:56
- - roobik   po zmianie: jest tylko biała strona... nic sięjuż ...   9.08.2007, 21:34:13
|- - sagittariuspl   Cytat(roobik @ 9.08.2007, 22:34:13 ) ...   11.08.2007, 17:10:36
- - bim2   gadasz głupoty. Mi działa   10.08.2007, 17:26:48
- - bim2   [PHP] pobierz, plaintext <?php$dzisiaj = progra...   13.08.2007, 18:21:14
- - Taifun   jak zrobić żeby pokazywał same seriale? Serio pyt...   14.08.2007, 21:24:36
- - bim2   Zrób tablicę z nazwami seriali i później filtruj k...   15.08.2007, 11:02:55
- - sokolam   Pomoze mi ktos z tym lub podesle gotowy skrypt na ...   17.08.2007, 11:36:05
- - roobik   Również bym prosił o wskazówkę... Ewentualnie skry...   22.08.2007, 12:08:56
- - bim2   [PHP] pobierz, plaintext <?php$dzisiaj = progra...   22.08.2007, 16:16:58
- - bim2   Przepraszam za post pod postem, ale własnie zalicz...   23.08.2007, 20:19:20
- - szygmon   Parse error: parse error in c:\usr\krasn...   24.08.2007, 18:15:42
- - maniek00   Pytanie natury prawnej. Czy pobieranie programu t...   15.09.2007, 12:27:21
- - zur887   Program był już kiedyś dostępny pod adresem miasto...   16.09.2007, 00:19:38
- - Mefi   Super Skrypcik mam go na sowiej stronie domowej na...   19.09.2007, 13:44:02
- - roobik   Po dłuższej nieco przerwie ponownie zajr...   26.06.2009, 18:46:45
- - djalbert   No i sie zepsulo... wp.pl przebudowało swój serwis...   28.03.2010, 12:43:31
- - q840   No ja również korzystałem z tego skryptu, ma ktoś ...   10.04.2010, 12:13:19
- - djalbert   Albo może ktoś zna jakieś inne źrodło programu TV,...   27.06.2010, 10:24:52
- - r33   Witam. Ja naprawdę potrzebują pomocy z tym skrypte...   4.07.2010, 01:02:57


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: 22.08.2025 - 17:22