Foros del Web » Programando para Internet » PHP »

problema al pasar un foreach a un array mediante dom

Estas en el tema de problema al pasar un foreach a un array mediante dom en el foro de PHP en Foros del Web. hola a todos, estoy haciendo un capturador de contenido mediante dom y se me presento un problema al pasar el contenido a una matriz. mediante ...
  #1 (permalink)  
Antiguo 18/09/2012, 10:23
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
problema al pasar un foreach a un array mediante dom

hola a todos, estoy haciendo un capturador de contenido mediante dom y se me presento un problema al pasar el contenido a una matriz.

mediante foreach funciona perfectamente pero al pasarlo a array no me muestra nada.

el codigo del dom con foreach:
Código PHP:
Ver original
  1. //Encontrar el contenido
  2.                   $dom = new DOMDocument();
  3.                   $dom->loadHTML($page);
  4.  
  5.                   $xpath = new DOMXPath($dom);
  6.                   $tags = $xpath->query('//span[@class="titulo"]');
  7.                   foreach ($tags as $tag) {                      
  8.                       echo strip_tags($tag->textContent);
  9.                       echo "<br />";
  10.                   }

el caso es que necesito poner un return y no quiero echo, aparte pasarlo a una array, el codigo del array es el siguiente.

Código PHP:
Ver original
  1. //Encontrar el contenido
  2.                   $dom = new DOMDocument();
  3.                   $dom->loadHTML($page);
  4.  
  5.                   $xpath = new DOMXPath($dom);
  6.                   $tags = $xpath->query('//span[@class="titulo"]');
  7.                   $contenido = array();
  8.                   foreach ($tags as $tag) {                      
  9.                       $contenido = strip_tags($tag->textContent);
  10.                   }
  11.                   return $contenido;

se supone que deberia de mostrarme una array pero no, me podrian echar una mano porfavor

gracias
__________________
www.ahaugas.com mi pagina de desarrollo
  #2 (permalink)  
Antiguo 18/09/2012, 10:29
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: problema al pasar un foreach a un array mediante dom

Lo que sucede es que estas sobre-escribiendo la variable $contenido. Deberías de almacenarlo en un array y asi puedes ver todo su contenido
Código PHP:
Ver original
  1. $contenido = array();
  2. foreach(....){
  3.     $contenido[] = ....
  4. }
  5. return $contenido;
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 18/09/2012, 10:54
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problema al pasar un foreach a un array mediante dom

perfecto, muchas gracias, entonces... siempre que se vaya a almacenar una variable hay que almacenarlo primero en una array?

gracias
__________________
www.ahaugas.com mi pagina de desarrollo
  #4 (permalink)  
Antiguo 18/09/2012, 10:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: problema al pasar un foreach a un array mediante dom

Cita:
Iniciado por ahaugas
siempre que se vaya a almacenar una variable hay que almacenarlo primero en una array?
No, sólo cuando realmente necesites un array!
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: dom, foreach, html, mediante
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 08:13.