SimpleHTMLDom. Documentación. Descargar.
Se trata de un parseador implementado en PHP5+ que facilita enormemente manipular código HTML. Soporta HTML inválido y es capaz de encontrar etiquetas en una página HTML con selectores del estilo de jQuery.
Ejemplos:
- Obtener elementos de HTML
// Leer el DOM a partir de la URL $html = file_get_html('http://www.google.com/'); // Encuentra todas las imágenes foreach($html->find('img') as $element) echo $element->src . ' '; // Encuentra todos los enlaces foreach($html->find('a') as $element) echo $element->href . ' '; - Modificar elementos HTML
// Crea una estructura DOM a partir de una cadena $html = str_get_html('
HolaMundo'); $html->find('div', 1)->class = 'barra'; $html->find('div[id=hola]', 0)->innertext = 'tonta'; echo $html; // Lo que genera:
tonta - Extrae contenido desde HTML
// Vuelca el contenido (sin etiquetas) de HTML, o sea, convertir a texto echo file_get_html('http://www.google.com/')->plaintext; - Filtrado del código HTML de SlashDot.org
// Leer el DOM a partir de la URL $html = file_get_html('http://slashdot.org/'); // Encontrar todos los bloques de artículos foreach($html->find('div.article') as $article) { $item['title'] = $article->find('div.title', 0)->plaintext; // extrae el título $item['intro'] = $article->find('div.intro', 0)->plaintext; // extrae la intro $item['details'] = $article->find('div.details', 0)->plaintext; // extrae los detalles $articles[] = $item; } print_r($articles);
Recibir actualizaciones por Email
Contactar
12 comentarios:
Pues está fantástico!!!
Genial justo lo que estaba necesitando!!!
A mí me sale este error:
Call to undefinied function file_get_html()
Probablemente porque no estás incluyendo la librería necesaria, SimpleHTMLDom, que está enlazada al principio del artículo.
Jeje, pues era eso.
La verdad es que un par me van a ser muy útiles.
Gracias :)))
Lo voy a probar al instante justo lo que andaba necesitando y con poco tiempo para hacerlo yo mismo :D Muchisimas gracias!!
Hola a todos tengo un problema con un programa que he hecho con la libreria esta, en el servidor de mi casas funciona perfectamente pero al subirla al servidor no funciona aunque no me da ningun tipo de error el firefox se queda en blanco y el explorer me da problemas de conexion. Se le ocurre a alguien algo?
Para que funcione correctamente se tiene que hacer un include de la librería SimpleHTMLDom.
Gracias por el aporte, me sera muy util
prueba agregando esto en el comienzo del codigo
set_time_limit(3600);
ini_set('memory_limit', '250M');
y activa la opcion mostrar errores desde htaccess de seguro de que tu proveedor hosting no lo tiene activo
Excelente post. Gracias
Excelente post muchas gracias muy útil realmente
No habia visto este articulo. Excelente!!
Ahora podre capturar noticias rss y poder ponerlas en mi web con mis propios estilos
Publicar un comentario en la entrada