9lessons programming blog
Loading Search
Thursday, February 12, 2009

Displaying RSS Feed with PHP

This article explains to displaying RSS(XML format) feed like popurls.com (popular urls in one place) using simplexml_load_file() a PHP function. It's very useful to display your blog feeds as like Recent articles(headlines) list.

RSS- Really Simple Syndication.

Reading XML data and presenting with HTML.

Download Script     Live Demo

Index.php RSS display page:
File contains HTML tags and PHP included rssclass.php. You have to change the RSS feed URL.
<div>
  <?php
  include('rssclass.php');
  $feedlist = new rss('http://feeds2.feedburner.com/9lesson');
  echo $feedlist->display(9,"9lessons");
 
  $feedlist = new rss('http://feeds.feedburner.com/nettuts');
  echo $feedlist->display(9,"Nettuts");
 
  $feedlist = new rss('http://feeds.labnol.org/labnol');
  echo $feedlist->display(9,"Labnol");
  ?> 
  </div>
Popurls.com screen shot

rssclass.php
A beautiful PHP function simplexml_load_file() to load and read XML file. simplexml_load_string() XML string reader.
<?php
 class rss {
     var $feed;

  function rss($feed) 
    {   $this->feed = $feed;  }
 
  function parse() 
    {
    $rss = simplexml_load_file($this->feed);
    
    $rss_split = array();
    foreach ($rss->channel->item as $item) {
    $title = (string) $item->title; // Title
    $link   = (string) $item->link; // Url Link
    $description = (string) $item->description; //Description
    $rss_split[] = '<div>
        <a href="'.$link.'" target="_blank" title="" >
            '.$title.' 
        </a>
   <hr>
          </div>
';
    }
    return $rss_split;
  }
  function display($numrows,$head) 
  {
    $rss_split = $this->parse();

    $i = 0;
    $rss_data = '<div class="vas">
           <div class="title-head">
         '.$head.'
           </div>
         <div class="feeds-links">';
    while ( $i < $numrows ) 
   {
      $rss_data .= $rss_split[$i];
      $i++;
    }
    $trim = str_replace('', '',$this->feed);
    $user = str_replace('&lang=en-us&format=rss_200','',$trim);
    $rss_data.='</div></div>';
    return $rss_data;
  }
}
?>

CSS code :
Style just view the Live Demo
.vas{
    float:left;
    width:270px;
    padding:10px;
}
.title-head {
    font-size:18px;
    font-weight:bold;
    text-align:left;
    background-color:#006699;
    color:#FFFFFF;
    padding:5px;}
.feeds-links {
    text-align:left;
    padding:5px;
    border:1px solid #dedede;
 }
Download Script     Live Demo
Sponsored Links

Share this post

Comments
{ 10 comments }
Anonymous said...

Thanks man. I'm looking for something like this..

Mas Andy said...

thanks, this script is very usefull :)

Administrador said...

hello my friend

your script is "VeryMuchBonito"
BUT
necesito agregar Item->description

I modify display()
and OK

juxt8@hotmail.com said...

hello and I say great resource; is it possible to parse Flickr rss with this class? Thank You for answer me!

Masoom said...

Thanks , I recenlty moved from Joomla & Wordpress to jquery powered HTML pages, and I was looking for a script to display RSS XML Feeds in a Web Page Using PHP Functions.

I hope search engines crawl these links.

Following you on twitter now
Masoom : @imasoom

Masoom said...

Hello, the script only shows the Title of the rss feed. Is there any way we can display the content of the posts? I am trying to embed all my blog posts, in a webpage, so it looks and feels like a part of the site.

Masoom

Iqbal said...

very good article.

Raza Rahil said...

Hello, is it possible to fetch image also with title and link.

Anonymous said...

How can I get the MEDIA:THUMBNAIL-URL from the item using this codes format?

Anonymous said...

very good simple script....how do limit description length....I would like to keep under 100.

Post a Comment

Subscribe now!Recent Posts

Categories

Subscribe now!Popular Posts

People Says

@9lessons thank you for the great tutorials, we truly appreciate your contributions to the design community.

Smashing Magazine

Like Me

follow me
products

9lessons labs

9lessons clouds

Android application

Chrome Extension