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 ; } } |