Autor Zpráva
ala.an
Profil *
Dobrý den,
Našel by se tu prosím ochotný člověk, který by mi pomohl se zobrazováním tv programu na svém webu ?
Mám zdroj XML, ze kterého jsem vycucnul potřebná data tímto skriptem:
<?php

$jmenosouboru="http://tv.mipo.us/rss.xml";
$pole=array();
$item=0;
$sloupec=0;
$parser=(xml_parser_create());
function obsluhapocatecnihotagu($parser, $nazev, $atributy) {
global $item, $sloupec, $pole;
if(eregi($nazev, "item")) {$item=$item+1;}
if(eregi($nazev, "description")) {$sloupec=$sloupec+1;}
}
function obsluhakoncovehotagu($parser, $nazev) {
global $item, $sloupec, $pole;
if(eregi($nazev, "item")) {$sloupec=0;}
}
xml_set_element_handler($parser, "obsluhapocatecnihotagu", "obsluhakoncovehotagu");
function znaky($parser, $data) {
global $item, $sloupec, $pole;
$pole[$item][$sloupec] .= $data;
}
xml_set_character_data_handler($parser, "znaky");
if(!($soubor=fopen($jmenosouboru, "r"))) {
die("Nelze otevřít soubor data.xml!");
} else {
while ($d = fread($soubor, 4096)) {
if(!xml_parse($parser, $d, feof($soubor))) {
die("<script language="JavaScript">
window.alert('Chyba XML v souboru ".$jmenosouboru." na řádku ".xml_get_current_line_number($parser).".\n\nKód chyby: ".xml_get_error_code($parser)."');
</script>");
}
}
}
echo("<table>");
for($cr=1;$cr<=Count($pole);$cr++) {
echo("<tr>");
for($cs=1;$cs<=Count($pole[$cr]);$cs++) {
echo("<td>");
echo($pole[$cr][$cs]);
echo("</td>");
}
echo("</tr>");
}
echo("</table>");
?>


Výsledek je např:
00.00 - Zprávy (ČT24 )
00.00 - Závěr vysílání (TA3 )
00.10 - Krůček k vraždě (Nova )
00.15 - Co nesmazal ani čas /R/ (STV2 )
00.15 - Světci a svědci (ČT2 )
00.15 - Tajemné zlo II (Markíza )
a já bych tyto informace potřeboval roztřídit podle stanice (to je to v závorce) takže do jednoho sloupku ČT1 další ČT2 pak Nova a Prima a ostatní nechci a potom pod to řadit podle času příslušné programy co dávají - něco jako je zde: http://www.tampiss.com/tv-program/dnes.html

Předem děkuji všem za pomoc. Ala.an
zuziik
Profil *
Mám prosbu.
Použila jsem tento skript taky na ten program a taky bych potřebovala to nechat rozepsat viz. co napsal ala.an
Prosím pomozte někdo.
Děkuji zuziik :)
jakubroz
Profil
mě by to taky pomohlo. tak jestli někdo ví jak na to, tak prosím poraďte. dik
Mike8748
Profil
hehe, koukam dost stary vlakno :)

jakubroz
neco takovyhleho?

neni to ostylovany, tak to nevypada moc dobre, ale zaklad je. taky co muzete chtit za 20 minut :)
jakubroz
Profil
no super. moc dik. já googloval jak blázen a nic.
jakubroz
Profil
a máte k tomu php soubor? tahle z toho nic nezjistim
Mike8748
Profil
mame k tomu php soubor(jinak by se to tezko vypisovalo, ze). a protoze dneska mame dobrou naladu, tak ti i rekneme, ze je tam, akorat ma koncovku .phps
jakubroz
Profil
tak to teda moc dik.
to asi funguje jenom na php5 co? je tam simplexml_load_file
Mike8748
Profil
ano, php5

prepsat to napouziti extenze xml (kod nahore) by nebylo zas tak slozity. otazka je proc to delat
jakubroz
Profil
jo, ted budu mít novej hosting s php5 tak to bude ok.
myslíš, že by byl problém z toho vypisovat aktuálně vysílané pořady?
Mike8748
Profil
dej si do kodu var_dump($programy); a uvidis strukturu a obsah vysledneho pole. kazdej porad tam ma i polozku cas, format 'HH.MM', podle toho si to muzes zjistovat co prave hraje
jakubroz
Profil
a ještě, jak bych to udělal, kdyby chtěl aby se mi vypisovala jenom NOVA, PRIMA, CT1, CT2?
Mike8748
Profil
echo "CT1";
foreach ($porady["ČT1"] as $porad)
{
echo $porad['cas'].':'.$porad['porad'];
}

+ si to doplnis o styly, tabulku,... to samy pro ostatni programy
jakubroz
Profil
dik
jakubroz
Profil
tak jsem tam dal tohle
echo "CT1";
foreach ($porady["ČT1"] as $porad)
{
echo $porad['cas'].':'.$porad['porad'];
}

a píše mi to tuhle chybu:
Warning: Invalid argument supplied for foreach() in /var/www/web5/..tvprogram_cely.php on line 49

čim to je?
elbee
Profil *
nooo da sa to rozparsovat aj pre den a stanicu (napr. http://tv.poppe.sk/index.php?den=1211925600&s=spektrum) a pouzit to pre rozne stanice a dni
Scorpius
Profil
Nasli jste na netu nekde pristupny program s popisky k nove? (nemyslim feedy jen cas a jmeno, chtel bych i popisy atd.)

Nasel jsem CT(1,2,4,24) a primu, ale novu vubec nemuzu nikde najit.

Pls poradte.
Mike8748
Profil
heh, jestli neco najdes, bez toho ze by se parsovalo html treba tv.sms.cz tak ses dobrej.
ja hledam, uz pomalu rok, a zatim sem zadnej strojove zpracovatelnej nenasel
Scorpius
Profil
Tak vyparsovat to by nebyl zas takovej problem...

Ale asi to neni legalni, takze to muzu zavrhnout...
jakubroz
Profil
no mě by se taky hodil :-D
Jackie
Profil
tyto parsery jsou dobré ...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: