Over on my FatLab Music homepage, I list the five most recent blog entries from our blog, Roll Over. WordPress makes this very simple with the wp_rss() function, available on any page in your site by including path_to_blog/wp-includes/rss.php. But I also wanted to parse an iPhoto photocast feed for some Lightbox JS magic. Since wp_rss() only pulls from your local blog, I installed a copy of Magpie RSS, the codebase WordPress uses for wp_rss(), independent of my blog install. In addition, because wp_rss() is actually a wrapper for Magpie RSS, you get a PHP error when Magpie’s rss_fetch.inc attempts to redeclare functions already declared in WordPress’s rss.php on the same page.
So now, I have achieved both my last five Roll Over posts and the Frankie Photocast — loaded (and cached!) by the stand-alone install of Magpie, not by WordPress.
Unfortunately, WordPress does this fancy quotes thing, converting straight quotes (") into curly quotes (“ and ”), among an array of other characters. Magpie RSS completely horked on the non-standard-ASCII quotes and output weird substitutions in their place. I didn’t end up finding the final cause, but I suspect either Magpie just can’t handle the extended character set (doubtful), or there was an encoding mismatch along the way (more likely).
I learned from this article that wptexturize() in wp-includes/formatting.php does the fancy quote translation, and the article goes on to show the line of code to comment out which disables this feature.
Rather than edit the WP codebase (which I see has been updated again) and have to remember which files to repatch with each update, I found the Unfancy Quote Plugin from Semilogic. Download, install, and enable and you’re good! Feeds and everything get passed thru this plugin and fancy quotes are un-curlied back to feed-friendly straight quotes.