Bookmark and Share

December 30, 2009

MagpieRSS & Website Updates

Filed under: Technical Ramblings,Web Development Ramblings — Kordel Eberly @ 6:15 pm

I’ve spent the last several days fiddling around with Magpie RSS, attempting to feed Blog updates onto my home page via RSS.

Well, you’d think it should be easy, as I found no fewer than a dozen “simple” tutorials on parsing the output via PHP and customizing the feeds. But of the 5 or 6 different scripts that were freely available, only the last one I found actually worked.

The funny thing is, as I brushed up on my PHP, I realized that the issues were mostly very simple ones – syntax, mostly, and bad programming. You’d think people who write Magpie / PHP walkthrough’s would test their code…

Anyway, it’s up and running, and it’s working great – you can now view summaries of the latest Blog posts directly at www.eberlysystems.com – our Home page, plus breaking news as it becomes available.

For anyone who is interested in what I came up with, here’s the basics…

  • Download MagpieRSS from http://magpierss.sourceforge.net/
  • Install per the included “Install” file (open via your web browser – it’s in HTML format)
  • Insert this PHP script into your page and customize the lines in bold
  • Enjoy!

Script:

<?php
require_once(‘magpierss/rss_fetch.inc’);
$rss = fetch_rss(‘http://www.eberlysystems.com/blog/wp-rss.php‘);
if ( $rss) {

#in this case, we only want to display the first four news feeds:
$short_items = array_slice($rss->items,0,3);

#to be polite, set magpie to only refresh a feed once every half-hour:
define(‘magpie_cache_age’, 900); # 30 x 60 = 1800 seconds

#tell magpie to use utf-8 encoding
define(‘magpie_output_encoding’, ‘utf-8′);
define(‘magpie_input_encoding’, ‘utf-8′);
define(‘magpie_detect_encoding’, ‘false’);

#now we tell magpie how to format our output
foreach ($short_items as $item) {

#define the link to the story as $href
$href = $item['link'];

#set the item title as $title
$title = $item['title'];

#set the item content as $longdesc
$longdesc = $item['description'];

#to only display the first 60 characters of the title and
#the first 100 characters of the content:

$desc = trim(strip_tags($longdesc));
if (strlen($desc) >= 175)
{
$desc = substr($desc,0,174).”…”;
}
if (strlen($title) >= 25)
{
$title = substr($title,0,24).”…”;
}

#and now we want to put it all together to show the image icon,
#followed by the item title, followed by the content on a new
#line in a smaller font.
echo “<h2 align=center><a href=\”$href\”>$title</a><br /><span>$desc</span></h2>“;
}
}
?>

Happy New Year to everyone in case I don’t get to update again before 2010!

1 Comment »

  1. Nice! Yea, it’s amazing how many walkthroughs are posted on the net that have never been tested by the people that wrote them.

    Comment by AndrewSmither — December 23, 2011 @ 9:30 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Privacy Policy | Terms & Conditions | Related Sites | SpyderMap | Web Portal | Exchange Links | Affiliates