Skip to content

Instantly share code, notes, and snippets.

@betweenbrain
Created April 17, 2013 16:26
Show Gist options
  • Save betweenbrain/5405671 to your computer and use it in GitHub Desktop.
Save betweenbrain/5405671 to your computer and use it in GitHub Desktop.
Use cURL and SimpleXML to retrieve and parse Wordpress RSS feed
<?php
$curl = curl_init();
curl_setopt_array($curl, Array(
CURLOPT_URL => 'http://blogs.guggenheim.org/map/feed/',
CURLOPT_USERAGENT => 'spider',
CURLOPT_TIMEOUT => 120,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_ENCODING => 'UTF-8'
));
$data = curl_exec($curl);
curl_close($curl);
$xml = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA);
//die('<pre>' . print_r($xml], TRUE) . '</pre>');
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
<?php foreach ($xml->channel->item as $item) {
$creator = $item->children('dc', TRUE);
echo '<h2>' . $item->title . '</h2>';
echo '<p>Created: ' . $item->pubDate . '</p>';
echo '<p>Author: ' . $creator . '</p>';
echo '<p>' . $item->description . '</p>';
echo '<p><a href="' . $item->link . '">Read more: ' . $item->title . '</a></p>';
}
?>
</body>
</html>
@leokovaski
Copy link

leokovaski commented Apr 7, 2017

I'm wrong: Warning: Invalid argument supplied for foreach() in

@pumamammal
Copy link

I left coding a while because the project I was on broke. Now I'm back. seeing a code I fork amazes me. Thanks

@PascaleBeier
Copy link

CURLOPT_ENCODING does not actually mean what you think it means:

http://php.net/manual/de/function.curl-setopt.php

Copy link

ghost commented Oct 6, 2017

Amazing !!!
Very helpful script saving lots of work and server request.

@alyaspk
Copy link

alyaspk commented May 17, 2018

Thank you so much, this has saved by day as well :)

@heyitsnovi
Copy link

Nice.... 100% working :) thank you 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment