Foros del Web » Programando para Internet » PHP »

Clase para leer rss que lea solo la 1º noticia

Estas en el tema de Clase para leer rss que lea solo la 1º noticia en el foro de PHP en Foros del Web. Hola amigos como estais, Vereis tengo esta clase que utilizo para leer de un feed, la cosa es que tal como esta lee unas 10 ...
  #1 (permalink)  
Antiguo 20/04/2011, 11:54
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Clase para leer rss que lea solo la 1º noticia

Hola amigos como estais,


Vereis tengo esta clase que utilizo para leer de un feed, la cosa es que tal como esta lee unas 10 o 15 noticias y me gustaria que solo lea la 1º, este es el codigo:


class leerRss{

public $url;
public $items;
public $error;

public function __construct($url) {

if(@fopen($url, "r")) {
$this->url = $url;
$this->error = true;
return $this->generalXml();
}else{
$this->error = false;
}
}

private function generalXml() {
if($xml = simplexml_load_file($this->url)){
$this->items = $xml->channel->item;
$this->error = true;
}else{
$this->error = false;
}
}
}

Tambien estoy intentado que lea varios feed a la vez y los intercale, a ver si alguien sabe como se podria hacer para que lea solo una noticia.

Un saludo amigos
  #2 (permalink)  
Antiguo 20/04/2011, 12:40
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Clase para leer rss que lea solo la 1º noticia

ehm, yo te recomiendo lastrss <-- click si quieres desarrollar tu propia clase, puedes ver como hacen ellos para leer el rss.
  #3 (permalink)  
Antiguo 20/04/2011, 12:48
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Clase para leer rss que lea solo la 1º noticia

Hola amigo memoadian gracias por tu respuesta,

Conozco lasrss y estaba utilizandolo para el mismo objetivo, la cosa es que no cosegui el resultado deseado ya que no pude pasarle un array con todas la dirreciones de los feed que queria unos 9 por que parece que no esta preparado para recibir un array es una pena, por eso empece con esta clase.

Estaria bien poder modificarlo pero hasta donde yo se no pude hacerlo la idea era la siguiente, este es el codigo original de last rss:

include './lastRSS.php';

// Options de base
$url_flux_rss = 'http://www.pcinpact.com/include/news.xml';
$limite = 10; // nombre d'actus à afficher

// on crée un objet lastRSS
$rss = new lastRSS;

// options lastRSS
$rss->cache_dir = './cache'; // dossier pour le cache
$rss->cache_time = 3600; // fréquence de mise à jour du cache (en secondes)
$rss->date_format = 'd/m'; // format de la date (voir fonction date() pour syntaxe)
$rss->CDATA = 'content'; // on retire les tags CDATA en conservant leur contenu

// lecture du flux
if ($rs = $rss->get($url_flux_rss))
{
for($i=0;$i<$limite;$i++)
{
// affichage de chaque actu
echo '<strong>'.$rs['items'][$i]['pubDate'].'</strong> &middot; <a href="'.$rs['items'][$i]['link'].'">'.$rs['items'][$i]['title'].'</a><br />';
}
}
else
{
die ('Flux RSS non trouvé');
}

Y intente modificarlo para añadir:

$numbers = array('http://www.htcmania.com/external.php?type=RSS2',
'http://www.elpais.com/rss/feed.html?feedId=1005',
'http://www.improvisa.com/backend.php',
'http://feeds2.feedburner.com/DVHardware',
'http://hispabyte.net/foro/index.php?type=rss;action=.xml',
'http://meneame.net/rss2.php?meta=100&status=all',
'http://feeds.feedburner.com/error500?q=node/feed',
'http://rss.elmundo.es/rss/descarga.htm?data2=4',
'http://feeds.feedburner.com/fayerwayer');



shuffle($numbers);

Y finalmente pasarle $numbers como parametro en "$url_flux_rss ="

Pero no funciono


Un saludo amigo y gracias por tu respuesta
  #4 (permalink)  
Antiguo 20/04/2011, 12:59
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Clase para leer rss que lea solo la 1º noticia

aqui te dejo un tutorial que enseña como montar varios feeds en last rss
Tutorial

y de hecho es para tomar una sola noticia de cada feed
  #5 (permalink)  
Antiguo 20/04/2011, 13:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Clase para leer rss que lea solo la 1º noticia

Muchas gracias amigo memoadian,

Voi a probarlo y te cuento, parece tener buena pinta, estuve buscando algo asi un par de dias pero no encontre nada parecido, a ver si hay suerte con este codigo.

Muchas gracias de nuevo amigo.
  #6 (permalink)  
Antiguo 20/04/2011, 13:10
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Clase para leer rss que lea solo la 1º noticia

yo lo probé hace tiempo, y si me funcionó, auqnue tuve un liegero problema con los tags html, lo malo es que no recuerdo la solución. :s

Etiquetas: clase, rss
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:53.