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!
<?php
/************************************************************************
*
* ********************************
*
* PROGRAM TELEWIZYJNY
*
************************************************************************/
function programTV($tv_stacja = false, $date = false, $from_to = false)
{
$data = ($date) ?
$date : date('Y-m-d'); $stacja = ($tv_stacja) ? $tv_stacja : 17;
$titles = array('Kawa czy herbata?', 'Przyroda Ameryki'); # ITD...
if(!eregi('..', $from_to)) $from_to = false;
define('TV_DATA', $data); # Domyslna data wyswietlania define('TV_STACJA_ID', $stacja); # Numer stacji define('FROM_TO', $from_to); # Zakres godziny przy wyswietlaniu # OD..DO, np. 12:00..14:00
# lub "false" aby caly dzien wyswietlic
$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';
{
define('TV_STACJA', $nazwa[1
][0
]);
if(preg_match_all('#<td class="drukowalne" (.*?)</td>#is', $handle, $result)) {
$res = $result[1];
$i=0; $a=0; $b=0;
while($b<count($res)/2)
{
$tmp = '<'.$res[$i];
if(eregi('hit.gif', $tmp) && $ishit == false) { $hit = true;
$ishit = true;
}
else
$hit = false;
$tmp = '<'.$res[$i+1];
$desc = '';
if(eregi('<br>', $title)) {
$title = $list[0];
for($j=1; $j<count($list); $j++)
{
$desc.= $list[$j].'<br>';
}
if(strlen($desc) < 25
) $desc = ' '; }
{
foreach($titles as $t)
{
$title = $t;
}
}
if(date('H', $time) <= 04
&& date('i', $time) <= 40
) $time+= 3600*24;
$from = 0; $to = 0;
{
list
($from, $to) = explode('..', FROM_TO
);
}
if(($from <> 0 AND $from <= $time AND $to <> 0 AND $to >= $time) OR FROM_TO == false)
{
$Tab[$a]['time'] = $time;
$Tab[$a]['title'] = $title;
$Tab[$a]['desc'] = $desc;
if($hit == true)
$Tab[$a]['hit'] = true;
else
$Tab[$a]['hit'] = false;
$a++;
}
$i+=2;
$b++;
}
}
}
return $Tab;
}
?>
Sposób użycia<?php
include('programTV.php'); # wczytujemy funkcję
$def = programTV(); # Odczytujemy na dzisiaj domyslnie kanal ID=17
$dzisiaj = programTV(1); # Odczytujemy kanał o ID=1 na dzisiaj - cały dzień
$rano = programTV(1, false, '03:00..12:00'); # Kanał ID=1, na dzisiaj, od 03:00 do 12:00
$jutro = programTV(false, '2005-12-09', 18:00..24:00); # Na 9 grudnia, kanał domyślny, od 18:00 do 24:00
?>