Foros del Web » Programando para Internet » PHP »

Obtener elemento de un archivo HTML por su tag

Estas en el tema de Obtener elemento de un archivo HTML por su tag en el foro de PHP en Foros del Web. Hola a todos! Os presento un problema que tengo: De una página en HTML obtenida con cURL, resulta que solo me interesa el contenido que ...
  #1 (permalink)  
Antiguo 27/08/2010, 17:30
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
Busqueda Obtener elemento de un archivo HTML por su tag

Hola a todos!

Os presento un problema que tengo:
De una página en HTML obtenida con cURL, resulta que solo me interesa el contenido que está encerrado en un determinado tag.

UN ejemplo:

Código HTML:
<html><body><span class="nomeinteresa">Paja</span><span class="meinteresa">String que quiero</span></body></html> 
De esta manera querría el string "String que quiero".


He intentado hacerlo con substr() y strpos(), pero es un lío enorme y además no funciona. Os pongo el codigo que he usado:
Código PHP:
substr($paginastrpos($pagina'<span class="arial18boldnegro">') + 31strpos($pagina"</span>"strpos($pagina'<span class="arial18boldnegro">')) - strpos($pagina'<span class="arial18boldnegro">') + 31); 
Ese 31 que veis por ahí es la longitud de la propia cadena que busco, para que no me la de con el tag incluido.

Como veis es muy lioso y trabajoso de hacer para cada String que quiero.

No existe alguna función que me facilite el trabajo?

Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 27/08/2010, 18:03
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Obtener elemento de un archivo HTML por su tag

Me autorespondo: Ya enconté lo que buscaba, un "Parser". Os recomiendo si buscais uno: http://simplehtmldom.sourceforge.net/.

El codigo que uso para el ejemplo de arriba es:
Código PHP:
        $html str_get_html($pagina);
        foreach(
$html->find('span[class=arial18boldnegro]') as $w){
            
$loquequiero $w->innertext;
        } 

Etiquetas: html, tag
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 20:22.