We are apologize for the inconvenience but you need to download
more modern browser in order to be able to browse our page
September 9, 2012
  • Facebook Feed

    Easily Display a Facebook Page’s Feed on a Website

    Read More

Easily Display a Facebook Page’s Feed on a Website

First things first, getting the Facebook page’s RSS feed URL. Log into your Facebook account and then head over to the page that you want to turn into a feed. Click on the ‘Notes’ tab and then in the left hand column at the bottom there should be a ‘Subscribe’ section with a link to the RSS feed for the page’s notes. Clicking this, should give you a URL looking a little like the one below:

Facebook notes RSS URL

http://www.facebook.com/feeds/notes.php?id=XXX&viewer=XXX&key=XXX&format=rss20

Now all you need to do is change ‘notes’ in that URL to ‘page’ and you will have a full blown RSS feed of your Facebook page. I’m not sure exactly why this URL isn’t very accessible, perhaps someone can shed some light on the matter?

Facebook page RSS URL

http://www.facebook.com/feeds/page.php?id=XXX&viewer=XXX&key=XXX&format=rss20

 

This isn’t the final stage in the URL fetching process though. The PHP method I wanted to use (which I’ll come onto in just a few minutes) to parse this feed didn’t like it one bit. So after a bit of mucking around I thought about using FeedBurner to verify the feed and parse the new FeedBurner URL, and what do you know it worked!

So head on over to FeedBurner and burn that Facebook page RSS URL into a more friendly looking FeedBurner URL and you should be all set.

Onto the PHP

First lets set up a few things.


 

$feed_burner_url = 'http://feeds.feedburner.com/FacebookPage';

$doc = new DOMDocument();
$doc->load($feed_burner_url);

$feeds = array();

$limit = 2;
$counter = 0;

 

First we put our new fangled RSS feed URL into a variable. Load in the feed using PHP’s DOMDocument class, declare an array to store our feed into, a limit for the amount of posts you want to display (minus one, in actual fact I want to display 3 but the counter beneath is starting at 0) and a counter, to see how what position we are in the loop we are about to write.

Building the RSS feed into the $feeds array

Now I’m going to go through each item in the RSS feed and stick it into our feeds array.


foreach ($doc->getElementsByTagName('item') as $node) {

	if	($counter <= $limit)
	{
	$items = array (
			'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
			'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
			'description' => $node->getElementsByTagName('description')->item(0)->nodeValue,
			'pubDate' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue
		);

	array_push($feeds, $items);
	}
	$counter++;
}

 

 

You’ll see above that we’re building up the keys in the array with values from the RSS feed. The key part you need to notice is here: getElementsByTagName('pubDate') This is the name of the node in the RSS feed, if you view the source of original RSS feed, you should be able to see all the different nodes available for you to use but here they are for you anyway: title, pubDate, author, link and description.

Actually displaying the feed

Well now the feed is an array we simply have to loop through it and we’ll have are RSS feed in an unordered list (or whatever format you want) on our page!


echo ' <ul id="facebook">';

foreach ($feeds as $feed)
{
	$date = strtotime($feed['pubDate']);

	echo ' <li>';
	echo '   <strong><a href="http://www.facebook.com/'. $feed['link'] .'">FacebookPage</a></strong> '. $feed['description'] . ' '. date('jS F Y G:H' ,$date) .'   ';
	echo '</li> ';
}

echo '</ul> ';

 

 

 

Don’t forget to style it up

I’ve written a few lines of CSS to make the feed look more ‘Facebook like’ if you so desire.

ul#facebook {
	padding: 10px 0 10px 0;
	margin: 0;
	list-style: none;
	font-size: 12px;
	font-family: "lucida grande",tahoma,verdana,arial,sans-serif;
}

ul#facebook img { margin-right: 5px; }

ul#facebook li {
	padding: 10px 0 10px 0;
	margin: 0;
	overflow: hidden;
	border-bottom: solid 1px #E9E9E9;
}

ul#facebook li p {
	padding: 3px 0 3px 0;
	margin: 0;
	line-height: 18px;
}

ul#facebook a {

}

ul#facebook li a { color: #3B5998 !important; text-decoration: none; }

ul#facebook li a:hover { text-decoration: underline; }

Anyway, I hope you find this useful, ’cause I know I’ll be coming back to look at it soon enough. Leave any questions in the comments!

September 9, 2012

ugg boots sale said:

the website is very good. i very like it. you are my my god… come here

Leave a Reply

Your email address will not be published. Required fields are marked *

Top
LOADING CONTENT