Parse HTML And Traverse DOM In PHP?

I spoke of this the other day, but now I’ve learned of PHP’s DOM functions, including loadHTML(). Use it in combination with simplexml_import_dom like this:

$dom = new domDocument;
$dom->loadHTML('<ul><li>one</li><li>two</li><li>three<ul><li>sublist item</li></ul></li></ul>');
if($dom){
	$xml = simplexml_import_dom($dom);
	print_r($xml);
}

This IBM developerWorks article has some more useful info.

Here’s some code I prototyped to parse out the ISBNs and LCCN (or any data, really) from an an average record in Scriblio:

$dom = new domDocument;
$dom->loadHTML($content);
if($dom){
	$xml = simplexml_import_dom($dom);
}
foreach($xml->body->ul->li as $thing){
	if($thing['class'] == 'isbn'){
		foreach($thing->ul->li as $stuff){
			print_r($stuff);
		}
	}
	if($thing['class'] == 'lccn'){
		foreach($thing->ul->li as $stuff){
			print_r($stuff);
		}
	}
}

No Comments

No comments yet.

Comments RSS TrackBack Identifier URI

Leave a comment

 

User contributed tags for this post:

php parse html (86) - php dom html (31) - php html dom (28) - php html parser (19) - php DOMdocument HTML (16) - php parse dom (11) - php traverse xml (11) - F (11) - php dom parsing (10) - php DomDocument (10) - www.89.dom (10) - php dom (10) - html dom php (9) - php dom parse html (8) - php html dom parser (8) - www 89 dom (7) - dom php html (6) - php traverse dom (6) - php parser html (6) - php parse html to xml (6) - loadHTML php (6) - php dom parse (6) - php parsing html tags (5) - php dom parser (5) - php DOM xhtml (5) - php parse html dom (5) - dom loadhtml (5) - Parse html php (5) - php dom traverse (5) - dom php (5) - php dom html parser (4) - php parse html file (4) - php parse xhtml (4) - php5 html parser (4) - DOMDocument html (4) - stuff (4) - php5 parse html (4) - php domdocument parse (4) - php parse html tags (4) - dom html php (4) - php html parse (3) - php parse html as xml (3) - traverse xml php (3) - php parsing html (3) - php domdocument foreach (3) - parse HTML in PHP (3) - php traverse html (3) - php html parser dom (3) - parse html php function (3) - WWW:SEX:D (3) - html dom in php (3) - traverse domdocument php5 (3) - parse html (3) - parse html php DOM (3) - php xml DOM LoadHTML (3) - www.sex.d (3) - DOMDocument php (3) - dom parse html php (3) - domdocument parsing html (3) - thing (3) - php parse html domdocument (3) - PHP traverse the HTML DOM tree (3) - php parse html xml (3) - php html parse dom (3) - php 5 html parse (2) - php dom loadhtml (2) - parse html dom php (2) - php parsing html dom (2) - dom php parse (2) - loadHTML php5 (2) - parse dom php class (2) - php parsing post (2) - php parse html body (2) - php simplexml parse html (2) - php DOMDocument print_r (2) - dom document php (2) - php domdocument html example (2) - blog php dom (2) - traversing the xml dom in php (2) - php parse html simpleXMLElement (2) - php dom parsing html (2) - Traversing DOM with PHP XML (2) - PHP HTMLPARSER (2) - traverse dom tree php (2) - parsing html php dom (2) - php DOM html content (2) - sex tv 1 php (2) - php parsing xhtml (2) - php html traversing (2) - php parse html file ul (2) - php xhtml parser (2) - php code to parse html file (2) - traverse a html file (2) - simplexml parse html (2) - php traverse html DOM (2) - php html tag parser domDocument (2) - php dom foreach (2) - php DOMDocument to html (2) - parse html to dom php (2) - how to use DOM in php (2) - html parser php5 (2) - php dom traversal (2) - php parse (2) - php how to parse html to xml (2) - php simplexml traverse (2) - traverse DOM PHP (2) - ipod file format (2) - dom php parser (2) - php5 dom parse (2) - php traverse dom document (2) - php5 html parsing (2) - php DOMDocument parse html (2) - DOMDocument php html (2) - PHP Traversing XML (2) - xml dom print_r (2) - php parse DomDocument (1) - php DOMDocument html page (1) - DOM PHP for each (1) - php4 dom html (1) - sex tv.1.php (1) - php parsing xml with domdocument (1) - xml dom ul li (1) - html parse dom (1) - wordpress parse html (1) - PHP 5 simple HTML parser (1) - traverse DOM (1) - traverse xhtml php (1) - parse xhtml with php (1) - PHP HTML parsing class (1) - php traverse the xml dom (1) - php5 dom xml parsing xhtml (1) - parser dom (1) - php DOM parser HTML (1) - html DOM loadHTML (1) - php.parse html (1) - tags html dom php (1) - parsing HTML SimpleXMLElement (1) - php traverse html data (1) - html dom traversing php (1) - simplexml_import_dom (1) - traversing dom html php (1) - php file traverse (1) - php traverse ul (1) - php parse html from url (1) - xml traversing php (1) - dom ul (1) - $dom=new DomDocument; parser (1) - php dom document parsing (1) - php parser html simplexml (1) - html parsing in php (1) -