Solved

Loading Multiple RSS feeds into specific Divs

Posted on 2010-08-18
3
471 Views
Last Modified: 2013-11-19
I am currently working on a page that has several divs, each of which needs to display an imagelink to a specified RSS feed's latest story.

I've managed to get RSS feeds to load into the page using Google's API, however I was unable to get it to load more than one at a time.

Can someone point me to a tutorial on getting just the basic info from a Feed(Title, URL), as all the java and php tutorials i've seen are pulling large amounts of data I won't use and also only handling one feed.
0
Comment
Question by:OrbusEddy
3 Comments
 
LVL 34

Expert Comment

by:Beverley Portlock
ID: 33472598
I wrote an EE article a while back which was to do with storing data in memory, but it used an RSS feed as the source for its data. Maybe have a look at that and see if it points you in the right direction, then come back and ask more specific questions that the article does not cover.

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_3212-Using-PHP-classes-to-group-data-in-memory.html

0
 
LVL 108

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 33474518
RSS is a specialized subset of XML.  Good description here:
http://cyber.law.harvard.edu/rss/rss.html

Since it is XML, you can access the information in the RSS feed with SimpleXML; example in the code snippet.  If you have several RSS feeds, you would just read them one at a time and extract the elements of the object you want to keep.  Then produce the <div> statements.  Easy!

best regards, ~Ray
<?php // RAY_rss_parser.php
error_reporting(E_ALL);

// GRAB AN RSS FEED AND TURN IT INTO A BOX ON A WEB PAGE
// USEFUL MAN PAGE: http://us2.php.net/manual/en/book.simplexml.php

// CHOOSE YOUR FEED HERE
$rss_feed_url = 'http://www.nationalpres.org/rss/sermons.xml';

// ACQUIRE THE RSS FEED IN A DATA STRING
if (!$rss_xml_string = @file_get_contents($rss_feed_url))
{
    echo "<p>No RSS at $rss_feed_url</p>\n";
    die("Quel Fromage");
}

// TURN THE XML FEED INTO AN OBJECT
$rss_object = SimpleXML_Load_String($rss_xml_string);

// ACTIVATE THIS TO LOOK AT THE OBJECT
// echo "<pre>"; var_dump($rss_object); die('Foo');

// URL OF THE RSS FEED 'DISPLAYED' IN HTML COMMENT
echo "\n<!-- $rss_feed_url -->\n\n";

// START DIV
echo "<div id=\"box\">\n";

// GET THE CHANNEL INFORMATION
$channel_title = $rss_object->channel->title;
$channel_link  = $rss_object->channel->link;
$channel_title = htmlentities($channel_title);
echo "<h3><a href=\"$channel_link\">$channel_title</a></h3>\n";

// ITERATE OVER THE ITEMS IN THE CHANNEL
foreach ($rss_object->channel->item as $item)
{
    $item_title = $item->title;
    $item_link  = $item->link;
    $item_title = htmlentities($item_title);
    echo "<p><a href=\"$item_link\">$item_title</a></p>\n";
}

// WRAPUP DIV
echo "</div id=\"box\">\n";

// DEBUGGING CODE - SHOW THE ENTIRE OBJECT
echo "<pre>";
var_dump($rss_object);

Open in new window

0
 

Expert Comment

by:cptnem0
ID: 34549621
Great stuff Ray! Thanks.

How would I limit the amount of items in the feed? Say I wanted on 3 of the most recent items on the feed?
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
This article discusses how to create an extensible mechanism for linked drop downs.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now