Comunidad oficial de diseñadores web, web developers y Webmasters. Aqui podemos tratar temas actuales sobre diseño y tecnología. Podemos compartir y actualizarnos. Photoshop, Flash, PHP, ASP, Java, HTML, CSS, MySQL, CMS, etc. Unite YA y lee los Sticky

Ver más
  • 13,065 Miembros
  • 9,531 Temas
  • 3,449 Seguidores
  • 1

PHP Simple HTML DOM Parser

Es una clase expectacular para parsear el DOM al estilo jQuery, pero desde php, si renegas mucho con las expresiones regulares para obtener contenidos especificos esta clase te va a ser de muchisima utiliadad

http://simplehtmldom.sourceforge.net/

Get Html

<?php
// Create DOM from URL or file
$html file_get_html('http://www.google.com/');

// Find all images
foreach($html->find('img') as $element)
       echo 
$element->src '<br>';

// Find all links
foreach($html->find('a') as $element)
       echo 
$element->href '<br>'


Modificando Html

<?php
// Create DOM from string
$html str_get_html('<div id="hello">Hello</div><div id="world">World</div>');

$html->find('div'1)->class 'bar';

$html->find('div[id=hello]'0)->innertext 'foo';

echo 
$html// Output: <div id="hello">foo</div><div id="world" class="bar">World</div>
?>


Extraer texto

<?php
// Dump contents (without tags) from HTML
echo file_get_html('http://www.google.com/')->plaintext
?>


Scraping

<?php
// Create DOM from URL
$html file_get_html('http://slashdot.org/');

// Find all article blocks
foreach($html->find('div.article') as $article) {
    
$item['title']     = $article->find('div.title'0)->plaintext;
    
$item['intro']    = $article->find('div.intro'0)->plaintext;
    
$item['details'] = $article->find('div.details'0)->plaintext;
    
$articles[] = $item;
}

print_r($articles); 
  • 1
  • 5Calificación
  • 3Seguidores
  • 320Visitas
  • 0Favoritos

9 respuestas

@JoanManuelH dijo Hace más de 1 año:

<?php
include 'simple_html_dom.php';

$url = 'http://web';

$html = file_get_html($url);

foreach($html->find('city') as $e)

$data = $e->innertext . '<br>';

echo $data;
?>
PHP Fatal error: Call to a member function find() on a non-object

No puedo usar simple_html_dom.php ya que mi server no soporta el file-get-contents y ese archivo lo usa

no hay una forma de hacerlo sin eso, dios em estoy volviendo loco

@arix22 dijo Hace más de 1 año:

te amo chabon, esta buenisimo esto

@dii3g0 dijo Hace más de 1 año:

Muy bueno +1 Justo ayer andaba tocando esta clase y es muy buena

@feeme dijo Hace más de 1 año:

ta lindo, ta lindo P: se agradece.

@OscarWeb dijo Hace más de 1 año:

buenísimo +1

@eckol dijo Hace más de 4 meses:

No sé si es lo que estoy buscando. Necesito tomar los datos de cotización de monedas (no de todas) de esta página: http://www.cambioschaco.com.py/php/chaco_cotizaciones_nuevo.php# y replicarlos en una tabla en mi web.

¿cómo haría eso?

Tienes que ser miembro para responder en este tema