viernes, 9 de mayo de 2014

Simple HTML DOM Parser - Clase para extraer y modificar el contenido HTML


Simple HTML DOM Parse es una clase que te permite extraer y modificar el DOM HTML de un modo muy fácil, para su uso es requerida una versión PHP 5 o mayor. Puedes trabajar accediendo a  los selectores y atributos como si se tratase del framework jquery.


A continuación veremos algunos ejemplo de uso:

1 - Buscar el valor del atributo src de todas las imágenes del sitio web ...


require "simple_html_dom.php";
/* Sitio a analizar */
$html = file_get_html('https://www.google.com/search?hl=es&site=imghp&tbm=isch&source=hp&biw=&bih=&q=google&btnG=Buscar+por+imagen');

// Buscar todas las imágenes
foreach($html->find('img') as $element)
       {
    //Muestra el valor del atributo src de cada imagen
       echo "<p>".$element->src."</p>";
    }



2 - Buscar el valor del atributo href de todos los links del sitio web ...


<?php
require "simple_html_dom.php";
/* Sitio a analizar */
$html = file_get_html('https://www.google.com/');

// Buscar todas los links
foreach($html->find('a') as $element)
       {
    //Muestra el valor del atributo href de cada link
       echo "<p>".$element->href."</p>";
    }


3 - Buscar el contenido del atributo content de las metaetiquetas ...


require "simple_html_dom.php";
/* Sitio a analizar */
$html = file_get_html('https://www.google.com/');

// Buscar todas la etiquetas meta description
$descripcion = $html->find('meta[name="description"]');

/*$descripcion es un array, por eso accedemos al index 0,
normalmente un documento html sólo tiene una metaetiqueta description */
echo $descripcion[0]->content;


4 - Modificar el DOM HTML ...


require "simple_html_dom.php";
/* HTML a modificar */
$html = str_get_html('<div id="contenedor"></div>');

/* Buscar el id y agregarle texto */
$html->find('div[id="contenedor"]', 0)->innertext = "Hola Mundo";

/* Mostrar el resultado */
echo $html;


No hay comentarios: