RSS olvasás

RSS olvasás
2009-01-25T17:37:21+01:00
2009-01-25T22:16:17+01:00
2022-11-12T09:25:40+01:00
Antboy88
Sziasztok,

viszonylag alaposan utána néztem ennek az RSS témának. Találtam is itt egy kódot, amely ki olvassa az RSS -ből az adatokat. Az a kód így néz ki:


<?php function rsspharsing($rssurl, $itemnum) { $cachefile = $_SERVER['DOCUMENT_ROOT'].'/cache/rss_'.md5($rssurl); if((file_exists($cachefile) == false) OR (filemtime($cachefile)+3600) < time()) { // ha több mint 1 órás a cachefájl $fp = @fopen($rssurl, "r"); while(!feof($fp)){ $row .= fgets($fp, 4096); } fclose($fp); if(eregi("<item>(.*)</item>", $row, $rowitem)) { // pharsing $item = explode("<item>", $rowitem[0]); for($i = 0; $i < $itemnum; $i++) { eregi("<title>(.*)</title>", $item[$i+1], $title); eregi("<link>(.*)</link>", $item[$i+1], $url); $linesout .= '<b>&middot;</b> <a href="'.$url[1].'" target="_blank" title="'.$title[1].'">'.$title[1].'</a><br>'.$leiras[1].'<br><br>'; } } touch($cachefile); $f = fopen($cachefile, "w"); fwrite($f, $linesout); fclose($f); } else { $f = fopen($cachefile, "r"); $linesout = fread($f, filesize($cachefile)); fclose($f); } return $linesout; } echo rsspharsing('http://est.hu/rss/mozi_hirek.xml',10); ?>

Ezzel sikeresen kiíratom a hír címét, meg az url -ét. Nekem viszont a hírnek a rövid bevezetőjét is ki kellene íratnom. Próbálkoztam azzal, hogy beillesztettem egy ilyen kódot:

eregi("<description>(.*)</description>", $item[$i+1], $leiras);

A lefuttatás után, a hír bevezetőjét bementi a cache -ba, viszont nem írja ki az oldalra. Nem tudok rájönni, hogy mi lehet a bibi.

Előre is kösz.
Mutasd a teljes hozzászólást!
Próbáld így:
eregi('<description><!\[CDATA\[(.*)\]\]></description>', $item[$i+1], $leiras);

Szerk.:
Nézd meg az általad megadott url-en lévő oldal source-kódját és ne felejtsd, az egy xml file.
A Te oldalad viszont html-ként olvassa a böngésző. /gondolom/
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd