PHP Simple HTML DOM Parser

Bin neulich über eine nette Klasse gestolpert, die sich lohnt mal anzuschauen:

PHP Simple HTML DOM Parser

Diese parst HTML und hält es als DOM Baum vor, auf welchem man ‘JQuery like’ Operationen dürchführen kann.

Siehe deren online Beispiel:

// 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>';

Kann man schön mit ScreenScrapen oder mal ein CMS neu erfinden! ;)
Feine Sache!

Ich habe es benutzt um einen AutoLinker zu bauen der über HTML traversiert.
Mit Regulären Ausdrücken bin ich da gescheitert, da diese auch immer Begriffe die schon Links waren ersetzt haben.
Über den DOM Baum ging es ganz gut.

Traversieren geht beispielsweise damit dann so:

$dom = new simple_html_dom;
$dom->load($html, true);
$this->traverse($dom->root);
function traverse($node,$deep=0) {
if($node->tag !== 'root'){
$lead = str_repeat('#', $deep);
echo $node->tag.':<br>';
}
$ee = $node->nodes;
foreach($ee as $c){
$this->traverse($c,$deep+1);
}
}

2 Replies to “PHP Simple HTML DOM Parser”

Leave a Reply

Your email address will not be published. Required fields are marked *