Autor Zpráva
jakubroz
Profil
Ahoj,
dělám si parser pro tv program.
Zdroj mam tohle: http://xmltv.arcao.com/xml.php?gids[]=nova.nova.cz

parser tohle:

<?php
$parser=(xml_parser_create());

function obsluhapocatecnihotagu($parser, $nazev, $atributy) {
if(eregi("title", $nazev)) echo("<b>");
if(eregi("desc", $nazev)) echo("<i>");
}

function obsluhakoncovehotagu($parser, $nazev) {
if(eregi("title", $nazev)) echo("</b><br>");
if(eregi("desc", $nazev)) echo("</i><br><br>");
}

xml_set_element_handler($parser, "obsluhapocatecnihotagu", "obsluhakoncovehotagu");

function znaky($parser, $data) {
echo($data);
}

xml_set_character_data_handler($parser, "znaky");

if(!($soubor = fopen("http://xmltv.arcao.com/xml.php?gids[]=nova.nova.cz", "r"))) {
die("Nelze otevřít soubor data.xml!");
} else {
while ($d = fread($soubor, 4096)) {
 if(!xml_parse($parser, $d, feof($soubor))) {
  die("Chyba XML");
 }
}

}
?>


a ted, vypíše se mi normálně title a desc. ale potřeboval bych vědět jak vypsat z toho xml čas začátku a konce pořadu.
předem dik
souki
Profil
co máš proti SimpleXML? :)
jakubroz
Profil
proč?
souki
Profil
To samé by si měl se SimpleXML asi na 3 řádky
jakubroz
Profil
a jak bych to měl mít teda se simple xml?
jakubroz
Profil
ale to není vlastně to co potřebuju vědět. já potřebuju ten čas vypsat.
Mike874
Profil *
jakubroz
ve funkci obsluhapocatecnihotagu mas treti parametr $atributy, napadlo te podivat se na jeho obsah? :)
bukaj
Profil
jakubroz
ale to není vlastně to co potřebuju vědět. já potřebuju ten čas vypsat.
Jestli jsem to pochopil, tak přesně na to je tu SimpleXML.
<?php
// tohle je celé, co musíš udělat, abys dostal naparsovaný XML dokument:
$xml = new SimpleXMLElement(file_get_contents('http://xmltv.arcao.com/xml.php?gid  s[]=nova.nova.cz'));

// a řekněme, že chceš vypsat názvy pořadů s jejich časy začátku a konce:
foreach ($xml->programme as $porad) { // k elementům dokumentu se přistupuje 
                                      // pomocí objektové notace (->)
    echo $porad->title . 
        " (" . 
        date('j. n. Y, G:i', strtotime($porad['start'])) . // a k parametrům jakoby 
                                                           // k položkám pole
        " - " . 
        date('j. n. Y, G:i', strtotime($porad['stop'])) . 
        ")\n";
}
souki
Profil
jakubroz
Nic nestahuj. Je to už přímo v PHP5

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0