HLEDAT

Jak vytvořit RSS v PHP

Profik123, 2.3.2008 14:50 | Přečtěno: 18864x | Rubrika: Články | Kategorie: Tento článek o RSS jsem se rozhodl napsat i přesto, že na českém internetu existuje množství takových, které se podobným tématem zabývají. Vzhledem k tomu, že jsem si na používání RSS celkem zvykl a používám každý den, rozčiluje mě, že na většině webů jsou RSS nevalidní, případně podporují pouze starou verzi, tudíž se články ve čtečce zobrazují špatně. V tomto článku se podíváme, co RSS vůbec je, jak přibližně funguje a jak něco takového vytvořit v PHP. Na konci je k dispozici zdrojový kód RSS, který funguje konkrétně tady na HackPages.cz.

img

RSS (Really Simple Syndication) je technologie používaná k odběru novinek z webu. Je založena na jazyce XML a vyskytuje se v několika verzích:

RSS 0.91 – Nejstarší forma specifikace, vyvinuta firmou Netscape. Bohužel se stále ještě používá, ale pro naše účely má z mého pohledu zásadní nedostatky. Poskytuje pouze název příspěvku, URL a krátký popis. Nedokáže poskytnout autora a hlavně datum. Datum je z mého pohledu nejdůležitější, protože potom můžeme články řadit podle data a vybírat nejnovější. Chceme zabránit tomu, aby se příspěvky ve čtečce zobrazovaly náhodně.

RSS 2.0 – Kromě dalších mnoha vylepšení přináší možnost již zmíněného poskytování autora a data. Doporučuji používat tuto verzi.

O ostatních verzích se to nebudu zbytečně rozepisovat. Vše se dá najít na Google. V praxi se stejně ve většině případů používají jen tyto dvě předchozí. Dále už se budu zabývat pouze verzí 2.0.

Validita


Na začátku jsem zmiňoval, že mnoho RSS kanálů je nevalidních. Konkrétně mohu ukázat na webech v oboru:

Soom.cz
Security-portal.cz

Snažte se proto dělat své RSS co nejvíce validní, aby s nimi neměla žádná čtečka problém.

XML syntaxe


Každé RSS musí začínat tagy <rss> a <channel>.

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>



Povinné elementy tagu <channel>


<title> – název RSS kanálu
<link> – URL webu, ke kterému RSS kanál patří
<description> – popis kanálu

<title>HackPages</title>
<link>http://www.hackpages.cz/</link>
<description>All about the computer security</description>



Doplňující elementy tagu <channel>


<language> – specifikace jazyka používaného v příslušném kanálu (pro češtinu = cs)
<webmaster> – adresa na správce RSS kanálu
<pubDate> – datum zveřejnění kanálu
<lastBuildDate> – datum, kdy byl RSS kanál naposledy změněn
<image> – slouží k přidání obrázku k RSS kanálu, element <image> musí mít ještě další parametry

Toto nejsou všechny možné elementy tagu <channel>. Vybral jsem jen ty z mého pohledu nejdůležitější. Celou specifikaci najdete na RSS 2.0

<language>cs</language>
<webMaster>profik123@gmail.com (Profik123)</webMaster>
<pubDate>Sun, 17 Feb 2008 22:47:45 +0100</pubDate>
<lastBuildDate>Sun, 17 Feb 2008 22:47:45 +0100</lastBuildDate>

<image>
<title>HackPages</title>
<url>http://www.hackpages.cz/favicon.png</url>
<link>http://www.hackpages.cz/</link>
</image>



Tím bychom měli vytvořenou hlavičku RSS kanálu a přejdeme k jednotlivým položkám. Ty jsou uvozeny elementem <item>.

Povinné elementy tagu <item>


<title> – obsahuje nadpis článku
<link> – URL plného znění článku
<description> – popis článku (většinou úryvek)

Doplňující elementy tagu <item>


<author> – kontakt na autora
<guid> – jednoznačný identifikátor článku, slouží k tomu, aby čtečka znovu nenačítala článek, který již byl jednou načten. Většinou se vkládá URL článku.
<pubDate> – datum zveřejnění článku. Podle mého názoru NEJDŮLEŽITĚJŠÍ položka

Zase jsem nevypsal všechny. Zbytek najdete na RSS 2.0

<item>
<title>Jak vytvořit RSS v PHP</title>
<description>Tento článek o RSS jsem se rozhodl napsat i přesto...</description>
<author>profik123@gmail.com (Profik123)</author>
<link>http://www.hackpages.cz/index.php?page=clanek&amp;clanek=xxx</link>
<guid>http://www.hackpages.cz/index.php?page=clanek&amp;clanek=xxx</guid>
<pubDate>Sun, 17 Feb 2008 22:47:45 +0100</pubDate>
</item>



Ukázkový soubor ve formátu RSS 2.0 najdete zde

Jak na to v PHP


Vzhledem k tomu, že teď známe, jak má výsledný XML dokument vypadat, není ho problém vygenerovat pomocí PHP rovnou z databáze. Připravil jsem pro vás hotový skript, který tohle obstará. Neříkám, že je řešený nejlépe, ale tady na HackPages.cz funguje spolehlivě. Očekávejte, že si skript budete muset opravit k obrazu svému, ale jako inspirace to snad bude stačit. Kdyby někdo měl návrh, jak ho zlepšit, ať se určitě ozve.

Skript najdete zde

Další zajímavé články


http://cs.wikipedia.org/wiki/RSS
http://www.rssboard.org/rss-specification
http://blog.xalda.eu/24-manualni-tvorba-rss-aneb-jak-vytvorit-rss-zdroj.html
http://interval.cz/clanky/rss-2-0/
http://www.root.cz/clanky/vse-podstatne-o-rss/


Podělte se s ostaními:


Podobné články:

Komentáře

komentar

cfbpgkxtx

23.1.2011 06:52

aOnMXW <a href=“http://veyedphhxsxu.com/”>veyedphhxsxu</a>, [url=http://iigfpjpanixm.com/]iigfpjpanixm[/url], [link=http://ubrcpzjupcxd.com/]ubrcpzjupcxd[/link], http://vzdhibncstde.com/

komentar

sbvkbu

27.1.2011 16:15

U0gmTv <a href=“http://aediuxskiyws.com/”>aediuxskiyws</a>, [url=http://mkhaurvcqvta.com/]mkhaurvcqvta[/url], [link=http://azswgequypyp.com/]azswgequypyp[/link], http://hgkcvkxcvhms.com/

komentar

ymmkfim

31.1.2011 15:01

OzNYXP <a href=“http://dudlaphzbmbf.com/”>dudlaphzbmbf</a>, [url=http://pgqowwwegpjc.com/]pgqowwwegpjc[/url], [link=http://aowoddsohhax.com/]aowoddsohhax[/link], http://nfdcwlvfkfhz.com/

komentar

chzuhadsbkj

16.2.2011 13:52

2KP1CA <a href=“http://slrkwrwucifr.com/”>slrkwrwucifr</a>, [url=http://ojuhikwmnsnx.com/]ojuhikwmnsnx[/url], [link=http://tomkrhsaxquc.com/]tomkrhsaxquc[/link], http://rsyxraqzppup.com/

komentar

sthsubpsu

17.2.2011 07:54

TcOsCP <a href=“http://uyriazvgdgho.com/”>uyriazvgdgho</a>, [url=http://vnycdnksesqv.com/]vnycdnksesqv[/url], [link=http://iyoxedtcmbtx.com/]iyoxedtcmbtx[/link], http://mqtzepejecqj.com/

komentar

lpjieb

19.2.2011 14:16

sTjD8m <a href=“http://ieqgswqfmnsk.com/”>ieqgswqfmnsk</a>, [url=http://zljgffvktejg.com/]zljgffvktejg[/url], [link=http://unzhvvdsrnvi.com/]unzhvvdsrnvi[/link], http://azsuzpbzopbu.com/

komentar

dtuqiojvgcz

4.3.2011 03:35

3GGecP <a href=“http://yvxusbcgmmno.com/”>yvxusbcgmmno</a>, [url=http://zacynxpqwwqh.com/]zacynxpqwwqh[/url], [link=http://wsjewnswtobo.com/]wsjewnswtobo[/link], http://ullvnmjgkwqp.com/

komentar

vgckrbfqcp

6.3.2011 07:59

h8J1mH <a href=“http://tmfokjknfucv.com/”>tmfokjknfucv</a>, [url=http://iysbxfmrcgzc.com/]iysbxfmrcgzc[/url], [link=http://merijpfvauzb.com/]merijpfvauzb[/link], http://vxxfcibyfnul.com/

komentar

yammwrpvk

8.3.2011 14:31

Ez3s5R <a href=“http://sxuicxggzglg.com/”>sxuicxggzglg</a>, [url=http://icxdlxalonov.com/]icxdlxalonov[/url], [link=http://iroqdgqlgcis.com/]iroqdgqlgcis[/link], http://htazlyivvbpo.com/

komentar

cpoemphlz

10.3.2011 13:46

TYoCw2 <a href=“http://wvetsvgkxmmj.com/”>wvetsvgkxmmj</a>, [url=http://grmyyuiwbnlu.com/]grmyyuiwbnlu[/url], [link=http://fihcorjvbtrv.com/]fihcorjvbtrv[/link], http://eebezvigwome.com/

komentar

ybfkaapu

17.3.2011 07:01

Bw6JWT <a href=“http://ulrmydnmzkbm.com/”>ulrmydnmzkbm</a>, [url=http://txrxesgkadll.com/]txrxesgkadll[/url], [link=http://ybvqugntyqwi.com/]ybvqugntyqwi[/link], http://heqfqhkcqqjk.com/

komentar

vjeafeiqnsn

29.1.2012 15:28

BWtCQQ <a href=“http://ugwacwhdpqok.com/”>ugwacwhdpqok</a>, [url=http://qjeedqnjffpx.com/]qjeedqnjffpx[/url], [link=http://fgnsmpdpakag.com/]fgnsmpdpakag[/link], http://yonwzjsmbdzp.com/

komentar

vnmqehmg

6.3.2012 16:49

z9Z3pF <a href=“http://wxcwctzzjhyj.com/”>wxcwctzzjhyj</a>, [url=http://jfdcujvgoaxh.com/]jfdcujvgoaxh[/url], [link=http://oxukxishusvj.com/]oxukxishusvj[/link], http://hahnuamkqmvi.com/

komentar

wnwcbrpki

7.4.2012 22:57

qKU5QG <a href=“http://wpyzychljmfr.com/”>wpyzychljmfr</a>, [url=http://alzmbsutzvbn.com/]alzmbsutzvbn[/url], [link=http://rzjhdrnlygye.com/]rzjhdrnlygye[/link], http://bnwrbttvbtnq.com/

komentar

ekbmdriz

5.5.2012 21:34

AH4wU8 <a href=“http://dyhxojwjmoej.com/”>dyhxojwjmoej</a>, [url=http://jbwjrhcgbfll.com/]jbwjrhcgbfll[/url], [link=http://itxlrnwwlcpn.com/]itxlrnwwlcpn[/link], http://yrfazfstkvqo.com/

komentar

suejbbh

21.6.2012 14:33

tDPfzC <a href=“http://ozdbdouywcvb.com/”>ozdbdouywcvb</a>, [url=http://akyrfgkxxjpd.com/]akyrfgkxxjpd[/url], [link=http://xkwxfiadnfhu.com/]xkwxfiadnfhu[/link], http://ampyuqbjsbul.com/

komentar

lsdyhncq

16.4.2014 10:13

20

Jméno
Email nepovinné
Web nepovinné
Zpráva

Software, windows, hry.

Přejít na Security-Portal.cz