Hola señores
Estoy trajando en mi website personal y quiero publicar en una seccion los titulos y enlces los mismos de Tumblr. El problema es que unque me parece estar leyendo los datos correctamente recibo un error, especificamente este: "Warning: Invalid argument supplied for foreach() in ... tumblr_rss/index.php on
line 15".
Esto es un ejemplo de como Tumblr genera el XML de su RSS:
Código HTML:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/>
<description>Mi blog que no es mi blog.</description>
<title>JuniHH</title>
<generator>Tumblr (3.0; @junihh)</generator>
<link>http://junihh.tumblr.com/</link>
<item>
<title>[VIDEO] Impresionante, me encanta: http://bit.ly/CIM63</title>
<description><p>[VIDEO] Impresionante, me encanta: <a href="http://bit.ly/CIM63" target="_blank">http://bit.ly/CIM63</a></p></description>
<link>http://junihh.tumblr.com/post/197569135</link>
<guid>http://junihh.tumblr.com/post/197569135</guid>
<pubDate>Sat, 26 Sep 2009 12:50:05 -0430</pubDate>
</item>
<item>
<title>Efectos superinteresantes con los videos de YouTube… merece un waaaooooo:...</title>
<description><p>Efectos superinteresantes con los videos de YouTube… merece un waaaooooo: <a href="http://yooouuutuuube.com" target="_blank">http://yooouuutuuube.com</a></p></description>
<link>http://junihh.tumblr.com/post/197569124</link>
<guid>http://junihh.tumblr.com/post/197569124</guid>
<pubDate>Sat, 26 Sep 2009 12:50:05 -0430</pubDate>
</item>
<item>
<title>Buenisimo —> RT @Linaceballos: RT @NestorCarrasco: 87 ejemplos de usos creativos de...</title>
<description><p>Buenisimo —> RT @Linaceballos: RT @NestorCarrasco: 87 ejemplos de usos creativos de YouTube! Excelente! <a href="http://bit.ly/87coolthings" target="_blank">http://bit.ly/87coolthings</a></p></description>
<link>http://junihh.tumblr.com/post/197569139</link>
<guid>http://junihh.tumblr.com/post/197569139</guid>
<pubDate>Sat, 26 Sep 2009 12:50:05 -0430</pubDate>
</item>
</channel>
</rss>
Esto es la funcion que prepare para leer el XML:
Código PHP:
<?php
function setTumblrPost ()
{
$url = 'tumblr_rss.xml';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$data = simplexml_load_string($output);
foreach ($data->channel as $dt)
{
$tmbTitu = $dt->item->title;
echo $tmbTitu;
}
//return $tmbList;
}
setTumblrPost ();
?>
Con una funcion similar leo todos los mensajes en Twitter, asi que no entiendo el motivo del dichoso error. Podrian aclarrme que esta mal en mi funcion y el "foreach", que es la linea 15 mencionado en el error.