Foros del Web » Programando para Internet » PHP »

Parser HTML

Estas en el tema de Parser HTML en el foro de PHP en Foros del Web. Bueno, el problema es el siguiente. Necesito poder abrir una pagina HTML (pongamos algo facil, lo abro con fread()), y despues de ahi obtener valores ...
  #1 (permalink)  
Antiguo 06/08/2006, 19:06
 
Fecha de Ingreso: febrero-2006
Mensajes: 7
Antigüedad: 18 años, 2 meses
Puntos: 0
Parser HTML

Bueno, el problema es el siguiente.
Necesito poder abrir una pagina HTML (pongamos algo facil, lo abro con fread()), y despues de ahi obtener valores especificos de esa pagina.

Ejemplo, tengo esta pagina.

Llamemosla test.html
Código:
<html>
<head>
<title>Mi Titulo</title>
</head>
<body>
<h1 id="logo">El logo mas raro</h1>
<div class="content">Texto y mas texto</div>
</body>
</html>
Lo que necesito es, una vez obtenido el contenido de esa pagina, y almacenado en una variable string o una variabla array, necesito obtener los datos que tiene la pagina, en este caso, Mi Titulo, El logo mas raro y Texto y mas texto.
Creo que con XML lo podria hacer.. o con un parser, pero no estoy muy seguro.
Bien podria obtener lo que necesito con las regexp, pero creo que hay un sistema mas comodo, asi por ejemplo, si agregan una etiqueta HTML <h2> antes del <div>, no habria problemas.

Bueno, espero que hayan entendido y les agradezco de antemano.
Espero que respondan.. porque hace mucho que no responden tan seguido, saludos!
  #2 (permalink)  
Antiguo 06/08/2006, 20:18
 
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 95
Antigüedad: 17 años, 8 meses
Puntos: 0
Igual te sirve de algo ver la implementación del DOM en PHP => http://es2.php.net/manual/es/ref.domxml.php
  #3 (permalink)  
Antiguo 07/08/2006, 14:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 7
Antigüedad: 18 años, 2 meses
Puntos: 0
Encontre esto php-html.sourceforge.net/ que en parte me facilita lo que quiero hacer.
  #4 (permalink)  
Antiguo 07/08/2006, 15:40
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
Si quieres puedes filtrar todas las etiquetas HTML, para dejar unicamente el texto, o bien, las etiquetas que tu desees usando la funcion strip_tags
supongamos que tienes todo el codigo HTML en una variable string



Código PHP:

$cadena_completa 

<html>
<head>
<title>Mi Titulo</title>
</head>
<body>
<h1 id="logo">El logo mas raro</h1>
<div class="content">Texto y mas texto</div>
</body>
</html>' 
;

$texto_filtrado=strip_tags($cadena_completa);

echo 
$texto_filtrado
Lo unico es que el resultado lo obtendras asi:
Código:
Mi Titulo El logo mas raro Texto y mas texto
Puedes mantener las etiquetas que tu quieras de la siguiente manera:

Código PHP:
$cadena_completa 
<html>
<head>
<title>Mi Titulo</title>
</head>
<body>
<h1 id="logo">El logo mas raro</h1>
<div class="content">Texto y mas texto</div>
</body>
</html>' 
;

$texto_filtrado=strip_tags($cadena_completa,'<P> <STRONG> <BR> <EM> <LI>');

echo 
$texto_filtrado
Con eso filtras todas las etiquetas HTML, excepto <P> , <STRONG> etc...

La funcion tambien sirve para filtras codigo php

Saludos!
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:11.