Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.
V 1. části jsme si ukázali, jak lze přinutit k automatickému obnovení online přenosy, které je normálně nemají. Teď si předvedeme, jak dostat do titulku stránky aktuální skóre.
Aby nám stránka v titulku ukázala, jaký je aktuální stav, to už s pouhým HTML nepořídíme. Zde je potřeba:
Přitom není nutné, aby serverový skript odeslal uživateli celý kód. Původní stránka s online se může dále načítat pomocí iframe.
První úkol je snadný. Máme-li k dispozici PHP aspoň verze 4.3, můžeme použít funkci file_get_contents, která do proměnné načte HTML kód stránky s online přenosem.
K vyoperování týmů a skóre je potřeba vědět, kde tato informace bývá v kódu. V případě fotbalových přenosů iDNES jsou názvy týmů obklopeny tímto:
<td class="tac m" width="33%"><a href="nejaky odkaz">název týmu</a></td>
Příslušný regulární výraz tedy bude mít syntaxi:
|<td class="tac m" width="33%"><a href=[^>]*>([^<]*)<|
Obdobně skóre najdeme zde:
<td class="v">číslo</td>
a regulární výraz proto bude
|<td class="v">([^<]*)<|
Pomocí funkce preg_match_all se zjistí názvy obou týmů i čísla vyjadřující skóre (u skóre jsou odpovídající řetězce tři, jedním z nich je dvojtečka). A do titulku si pak už můžeme zapsat cokoliv. Třeba
echo "$tym_d $skore_d:$skore_h $tym_h";
kde $tym_d, $tym_h jsou názvy týmů (případně zkrácené) a $skore_d, $skore_h počty vstřelených branek. Titulek pak může vypadat takto.
Zde je kód celé stránky psaný v PHP (textový soubor). Funguje pro fotbalové online na iDNES, dá se ale modifikovat i pro jiné přenosy.
Další články si můžete vyhledat v jednotlivých přihrádkách, případně podle data.
© Honza Hučín 2004–6
Šuplík běží na PIPNI.CZ. Díky!
8. 8. 16:48 | Pepa
7. 8. 21:26 | Honza Hučín
7. 8. 21:02 | Honza
6. 8. 14:29 | Pepa
3. 8. 18:29 | Honza
*1967, absolvent MFF UK v Praze (1991)
statistik, analytik, programátor, učitel, hudebník