Autor | Zpráva | ||
---|---|---|---|
Chatík Profil |
#1 · Zasláno: 19. 1. 2015, 07:43:18
Dobrý den,
získávám informace o tom co se právě vysílá za skladbu pomocí následujícího scriptu: $platnost = 30; // 60 s $soubor = "cache/" . urlencode($url); if ( file_exists($soubor) && (filemtime($soubor) > time() - $platnost) ) { // vrátíme obsah z keše return file_get_contents($soubor); } else { // obsah se musí stáhnout z cizí URL $obsah = file_get_contents($url); if ($obsah) { // uložení obsahu do cache file_put_contents($soubor, $obsah); } return $obsah; } } echo ziskatSouborCache( "http://www.181.fm/station_playing/181-realcountry.html" ); Ovšem chtěl bych vypsat jen to co hraje to znamené interpreta a skladbu. Jak to udělat? Není to uzavřené v žádném speciálním tagu jen v tagu <font> Např. <!--startcurrent--> <font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff" style="margin:0px 0px 0px 4px">Jimmy Wayne - Do You Believe Me Now (Radio Edit)</font> <!--endcurrent--> Jak to z toho mám vytáhnout? Děkuji za pomoc. |
||
juriad Profil |
Trošku bych to zjednodušil:
<?php function ziskatSouborCache($url) { $platnost = 30; // 60 s $soubor = urlencode($url); if ( // všimni si, že jsem otočil podmínku ! file_exists($soubor) || (filemtime($soubor) <= time() - $platnost) ) { // obsah se musí stáhnout z cizí URL $obsah = file_get_contents($url); preg_match('/startcurrent.*">(.*)<\/.*endcurrent/s', $obsah, $match); // uložení obsahu do cache file_put_contents($soubor, $match[1]); } // obsah je určitě v cachi return file_get_contents($soubor); } Ten šílený regulární výraz v podstatě jen hledá vše mezi znaky "> , které jsou za startcurrent , a znaky </ , které jsou před endcurrent .
|
||
Chatík Profil |
#3 · Zasláno: 19. 1. 2015, 08:12:51 · Upravil/a: Chatík
juriad:
Úplně suprový, moc děkuji. Ještě mám dotaz, proč se to nemění samo po uplinutí 30 vteřin, když se na zdrojové stránce informace změní? Vždy musím dát F5 a to čekám i minutu jestli se to nezmění a to na zdrojové stránce už je jiná informace |
||
Chatík Profil |
juriad:
Už vím, není tam nic co by tu stránku aktualizovalo, udělám to javascriptem. Díky moc za Váš čas. |
||
blaaablaaa Profil |
Chatík:
K tomuto pouzij AJAX (vice napovi google). Moderátor juriad: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
|
||
Časová prodleva: 9 let
|
0