Foros del Web » Programando para Internet » PHP »

problema con lector rss

Estas en el tema de problema con lector rss en el foro de PHP en Foros del Web. buscando en google este fue el que mejor me parecio (no tengo casi ni idea de php..) pero no me funciona me pone que tengo ...
  #1 (permalink)  
Antiguo 14/10/2011, 10:09
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
problema con lector rss

buscando en google este fue el que mejor me parecio (no tengo casi ni idea de php..) pero no me funciona me pone que tengo error en la linea 107

www.be-science.com/index.php

el supuesto problema esta en el ....foreach($rss->items as $item) {......

el lector lo saque de esta pagina de tutoriales en la cual parece que funciona perfect no se porque a mi no me funciona

gracias
  #2 (permalink)  
Antiguo 14/10/2011, 10:12
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: problema con lector rss

Eso pasa cuando no le pasas un array u object a un foreach. Coloca el código para poder ver el error o hasle un var_dump a $rss->items a ver que tipo de variable es.

Warning: Invalid argument supplied for foreach() in /home/bescienc/public_html/index.php on line 107

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 16/10/2011, 03:55
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con lector rss

el tutorial lo saque de www.tutoriales.com.do/php.../57-crear-un-lector-rss-utilizando-php

este es el codigo:

(esto es un archivo aparte llamado leerRss)

<?php
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;
}
}

}
?>


(esto va al inicio de la pagina)
<?php
require_once("clases/leerRss.php");
?>

(esto es la capa donde quiero que aparezcan las noticias)
<div id="noticias">
<div id="titulo2"><a href="Fotos/index.html">Fotos</a></div>
<dl>
<?php
$rss = new leerRss('http://www.bbc.co.uk/mundo/temas/ciencia/index.xml');
if($rss->error == true) {

foreach($rss->items as $item) {
?>
<dt>
<a href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a>
</dt>
<dd><?php echo $item->description; ?></dd>
<?php
}
}
?>

</dl>

</div>

espero puedan ayudarme
gracias de antemano
  #4 (permalink)  
Antiguo 17/10/2011, 10:44
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: problema con lector rss

Hola laura_moreno14, lo que pasa es que ese tutorial está hecho para leer RSS pero con ciertas etiquetas, no cualquiera. Te recomiendo que uses SimpleXML o DOM para leer ese RSS.

Aquí encuentras lo necesario:

[APORTE] Leer XML con SimpleXML y DOM

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 24/10/2011, 08:08
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con lector rss

hice el var_dump y pone lo mismo que antes. he estado intentando hacerlo con simpleXML pero me da aun mas errores por lo que supongo que no lo estoy haciendo bien ya que no entiendo muy bien la explicacion, donde poner cada cosa...

Etiquetas: lector, 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 21:47.