Well, once I made the last post about how to read a blog feed in ASP.Net using LINQ I just wondered if I would be able to do it in PHP too, so I did it.
Here’s the code:
function getBlogFeed($urlRSS) { $doc = new DOMDocument(); $doc->load($urlRSS); $arrFeeds = array(); foreach ($doc->getElementsByTagName('item') as $node): $itemRSS = array ( 'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue, 'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue ); array_push($arrFeeds, $itemRSS); endforeach; return $arrFeeds; }
Once you have that done you can just show it as you wish, this is my show function but have in mind it uses my css styles (you can have a look at how it looks at my home page).
function showBlogFeed($urlRSS){ if ($urlRSS !== ''): $arrFeeds = getBlogFeed($urlRSS); if($arrFeeds): echo '<div id="feed">'; foreach ($arrFeeds as $node) { echo '<div class="post">'; echo '<div class="titulo"><a href="' . $node["link"] . '">' . $node["title"] . '</a></div>'; echo '<p class="fecha">' . date('j M Y', $node["date"]) . '</p><br />'; echo '<div class="contenido">' . $node["desc"] . '</div>'; echo '<p class="more"><a href="' . $node["link"] . '">más</a></p>'; echo '</div>'; } echo '</div>'; endif; endif; } }