Foros del Web » Programando para Internet » PHP »

[[Solucionado]]clase DOMXPath sacar los enlaces de un div

Estas en el tema de [[Solucionado]]clase DOMXPath sacar los enlaces de un div en el foro de PHP en Foros del Web. Hola a tod@s estoy intentando utilizar esta clase para coger todos los href que haya dentro de un div con id="sitemap". el codigo es el ...
  #1 (permalink)  
Antiguo 21/06/2010, 05:38
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
[[Solucionado]]clase DOMXPath sacar los enlaces de un div

Hola a tod@s

estoy intentando utilizar esta clase para coger todos los href que haya dentro de un div con id="sitemap".

el codigo es el siguiente

Código PHP:
$html file_get_contents('http://www.pagina.com');  
 
$dom = new DOMDocument();  
@
$dom->loadHTML($html);  
   
$xpath = new DOMXPath($dom); 


// $hrefs = $xpath->evaluate("/html/body//div[@id='sitemap']");
//  $hrefs = $xpath->evaluate("/html/body/div[@id='sitemap']//a");
//  $hrefs = $xpath->evaluate("/html/body//a"); 

for ($i 0$i $hrefs->length$i++) {  
$href $hrefs->item($i);  
$url $href->getAttribute('href');  
echo 
$url.'<br />';  

la pregunta surge aqui:
// $hrefs = $xpath->evaluate("/html/body//a");
funciona, al final del código me saca todas las urls de la pantalla, por lo que deducía que el siguiente código me sacaría los del div con id
// $hrefs = $xpath->evaluate("/html/body/div[@id='sitemap']//a");
pero no lo hace.
he hecho un var_dump de lo que me devolvería
// $hrefs = $xpath->evaluate("/html/body//div[@id='sitemap']");
a ver si coge el div...pero no lo coge, me devuelve un objeto vacio.

me podríais por favor señalar el error o es que directamente no se puede tal cual lo estoy haciendo??

Muchas gracias de antemano.
Un saludo

Última edición por manzarinaa; 21/06/2010 a las 07:43
  #2 (permalink)  
Antiguo 21/06/2010, 07:42
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
Respuesta: clase DOMXPath sacar los enlaces de un div

SOLUCIONADO.
La linea se queda así

$hrefs = $xpath->evaluate("/html/body//div[@id='sitemap']//a");

Etiquetas: domxpath, enlaces
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 12:12.