Skip to content
Create a gist now

Instantly share code, notes, and snippets.

An improved version of the RSS merger
/* Merge multiple RSS feeds with SimplePie
* Just modify the path to SimplePie and
* modify the $feeds array with the feeds you want
* You should probably also change the channel title, link and description,
* plus I added a CC license you may not want
* Help from:
header('Content-Type: application/rss+xml; charset=UTF-8');
// Your path to simplepie
include_once('/path/to/simplepie/'); // Include SimplePie
$feedlink = ""; // URL for this feed, <atom:link>
$feedtitle = "Jon's Feeds"; // <title>
$feedhome = ""; // <link>
$feeddesc = "One Feed to Aggregate Them All"; // <link>
// Feeds you want to aggregate
$feeds = array(
echo '<?xml version="1.0" encoding="UTF-8"?>';
<rss version="2.0"
<title><?php echo $feedtitle; ?></title>
<atom:link href="<?php echo $feedlink; ?>" rel="self" type="application/rss+xml" />
<link><?php echo $feedhome; ?></link>
<description><?php echo $feeddesc; ?></description>
<copyright>Copyright <?php echo '2007-'.date("Y"); ?></copyright>
$feed = new SimplePie(); // Create a new instance of SimplePie
// Load the feeds
$feed->set_cache_duration (600); // Set the cache time
$success = $feed->init(); // Initialize SimplePie
<?php if ($success) {
foreach($feed->get_items(0, 40) as $item) {
<title><?php echo $item->get_title(); ?></title>
<link><?php echo $item->get_permalink(); ?></link>
<guid><?php echo $item->get_permalink(); ?></guid>
<pubDate><?php echo $item->get_date('D, d M Y H:i:s T'); ?></pubDate>
<dc:creator><?php if ($author = $item->get_author()) { echo $author->get_name()." at "; }; ?><?php if ($feed_title = $item->get_feed()->get_title()) {echo $feed_title;}?></dc:creator>
<?php echo htmlspecialchars(strip_tags($item->get_description())); ?>
<content:encoded><![CDATA[<?php echo $item->get_content(); ?>]]></content:encoded>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.