Quantcast
Channel: The html blog
Viewing all articles
Browse latest Browse all 7

Add RSS feeds to your website

$
0
0

Adding a RSS feed to your website has never been this easy with PHP, especially with MagpieRSS.

About MagpieRSS

MagpieRSS is an RSS and Atom parser for PHP which supports RSS 0.9, RSS 1.0, the various Userland RSS versions (0.9x and 2.0). Additionally it supports Atom 0.3, and many custom RSS namespaces.

Features of MagpieRSS

  • Easy to Use
  • Parses RSS 0.9 – RSS 1.0
  • Integrated Object Cache
  • HTTP Conditional GETs
  • Configurable
  • Modular
  • Secure
  • Bandwidth friendly

Where to get the bird?

Download MagpieRSS from http://sourceforge.net/project/showfiles.php?group_id=55691

Sample basic script

The following script will parse the RSS feed from Slashdot and display the titles.

	include_once('magpierss/rss_fetch.inc');

	$feed = 'http://rss.slashdot.org/Slashdot/slashdot';
	$rss = fetch_rss($feed);

	echo '<ul>';
	foreach ($rss->items as $item ) {
		$title = $item['title'];
		$url = $item['link'];
		echo '<li><a href="'.$url.'">'.$title.'</a></li>';
	}
	echo '</ul>';

First we include the rss_fetch.inc file located in the extracted magpierss folder which will help us in fetching and parsing the feed. Then we define the RSS feed URL and we tell MagpieRSS to fetch the data with the fetch_rss function. After that we just loop through the array of data and echo the output.

Note that MagpieRSS will try to create a directory named “cache” to cache the items for 1 hour to prevent excessive requests to the RSS feed. This directory must be writable by your webserver. If you want to change the cache lifespan, add

define('MAGPIE_CACHE_AGE', 900);

in your script. This will cache the items for 15 minutes (900 seconds). And if you want to change the cache directory add the following line of code :

define('MAGPIE_CACHE_DIR', '/tmp/feedcache');

The cache file will be created with a long random name and saved in the /tmp/feedcache directory

The final code looks like that :

	include_once('magpierss/rss_fetch.inc');
	define('MAGPIE_CACHE_DIR', '/tmp/feedcache');
	define('MAGPIE_CACHE_AGE', 900);		

	$feed = 'http://rss.slashdot.org/Slashdot/slashdot';
	$rss = fetch_rss($feed);

	echo '<ul>';
	foreach ($rss->items as $item ) {
		$title = $item['title'];
		$url = $item['link'];
		echo '<li><a href="'.$url.'">'.$title.'</a></li>';
	}
	echo '</ul>';

Viewing all articles
Browse latest Browse all 7

Trending Articles