lastRSS.php

CZE | ENG

O knihovně lastRSS

lastRSS.php je jednoduchá, ale výkonná PHP třída na čtení souborů RSS/RDF. Parsuje pomocí regulárních výrazů a vrací asociativní pole s položkami RSS. Ve spolupráci s knihovnou AutoCzech automaticky překódovává češtinu (ISO 8859-2, Windows 1250, UTF-8, ASCII).

Základní vlastnosti:

Download

Vlastnosti a metody

string cache_dir

Adresář, do kterého se ukládají cachovaná data. Nezapomeňte mu nastavit chmod na 777, aby do něj mohl php skript zapisovat. Pokud chcete cachování vypnout, nastavte $cache_dir na "" (prázdný string).

integer cache_time

Udává, jak dlouho (v sekundách) se mají data číst z cache, než se znovu stáhnou z původního zdroje. Interval není dobré nastavovat na moc krátkou dobu. I u serveru, kde vychází nové články několikrát za den, není (podle mě) důvod, používat interval pod 20 minut (tedy 1200).

string cp

Aneb podpora češtiny. Umožňuje nastavit kódování vaší stránky, do kterého se pak automaticky budou překódovávat všechny zobrazované RSS soubory. Může nabývat hodnot 'iso', 'win', 'utf' nebo 'asc' (bez diakritiky). Automatické překódování lze vypnout nastevním cp na "" (prázdný string). Upozornění: K automatickému překódování je potřeba knihovna AutoCzech.php - ničeho se nebojte a stáhněte si jí. Je zdarma (GPL) a má asi 2 kB. Na spolupráci s lastRSS je přímo stavěná, takže je to velmi jednoduché. (viz následující ukázky kódu a DEMO 3 CZ).

function Get(string $rss_url)

Hlavní funkce, která stáhne a zpracuje zadaný RSS soubor (např. http://www.webdot.cz/backend.php). Pokud se soubor povede načíst, vrací asociativní pole s RSS položkama. V opačném případě vrací False. Strukturu asociativního pole si můžete jednoduše zobrazit pomocí PHP funkce print_r() - viz DEMO 1.

Základní použití

Kostra použití lastRSS

// chceme pouzivat lastRSS
include './lastRSS.php';

// vytvoreni lastRSS objektu
$rss = new lastRSS; 

// nastaveni cache
$rss->cache_dir = './cache'; 
$rss->cache_time = 1200;

// nacteni a zpracovani RSS souboru
if ($rs = $rss->get('nejaky rss soubor')) {
	// tady muzeme pristupovat k polozkam $rs
}
else {
	die ('Error: Nelze nalez RSS soubor...');
}

Totéž s podporou češtiny (rozdíly tučně)

// chceme pouzivat lastRSS
include './lastRSS.php';
include './autoczech.php';

// vytvoreni lastRSS objektu
$rss = new lastRSS;

// nastaveni cache
$rss->cache_dir = './cache'; 
$rss->cache_time = 1200;

// nastaveni code page (iso, win, utf nebo asc)
$rss->cp = 'iso';

// nacteni a zpracovani RSS souboru
if ($rs = $rss->get('nejaky rss soubor')) {
	// tady muzeme pristupovat k polozkam $rs
}
else {
	die ('Error: Nelze nalez RSS soubor...');
}

Ukázky použití

Demo 1

Pomocí funkce print_r() ukazuje, jakou strukturu má asociativní pole, které funkce Get() vrací (na ukázku je použit RSS soubor serveru SlashDot.org)
Demo 1 | Zdrojový kód

Demo 2

Ukazuje, jak obdržená data v asociativním poli jednoduše zobrazit na HTML stránce (na ukázku je použit RSS soubor serveru FreshMeat.net)
Demo 2 | Zdrojový kód

Demo 3

Velmi jednoduchý RSS agregátor vytvořený pomocí lastRSS
Demo 3 | Zdrojový kód

Demo 3 CZ

Tentýž RSS agregátor, tentokrát s podporou automatického překódování češtiny zobrazuje RSS pocházející z českých serverů. V příkladu jsou schválně zastoupeny servery používající různá kódování češtiny.
Demo 3 CZ | Zdrojový kód

Author

Máte otázky, komentáře nebo nápady?

Vojtěch Semecký, webmaster@webdot.cz

Licence

Tento program je svobodný software. Je distribuován pod licencí GNU GPL 2.0 nebo vyšší (dle vaší volby) tak, jak ji publikovala nadace Free Software Foundation. Smíte jej svobodně používat, modifikovat a/nebo redistribuovat, pokud dodržíte podmínky v licenci uvedené. Pro detaily se podívejte na: GNU General Public Licence nebo na český překlad Obecná veřejná licence GNU.

Changelog

Verze 0.2 - (22. června 2003)
Přidána podpora překódování češtiny pomocí AutoCzechu
Opraven problém s cachováním nedostupných RSS zdrojů
Verze 0.1.1 - (11. května 2003)
První vydání

Různé

Textový odkaz
http://www.webdot.cz/lastrss/indexcz.html

Powered by button 88x31
lastRSS button 88x31

Tento dokument je validní XHTML 1.0 Strict a CSS 2.