Brief introduction
How to easily parse HTML code in PHP is an estimate of the problems that every phper will encounter. With Phpquery, PHP can be used to handle HTML code as easily as jquery.
Project Address: https://code.google.com/p/phpquery/
GitHub Address: Https://github.com/TobiaszCudnik/phpquery
DEMO
Download Library files: https://code.google.com/p/phpquery/downloads/list
I'm under the OneFile version: Phpquery-0.9.5.386-onefile.zip
Official demo:https://code.google.com/p/phpquery/source/browse/branches/dev/demo.php
It is then referenced in the project.
HTML file test.html:
<div class= "thumb" id= "thumb-13164-3640" style= "Position:absolute; left:0px; top:0px; " > <a href= "/spiderman-city-drive" > <spa n class= "gamename" id= "gamename-13164-3640" style= "Display:none;" >spiderman City drive</span> <span class= "gamerating" id= "gamerating-13164-3640" style= "Display:none;" > <span style= "WIDTH:68.14816PX;" ></span> </span> </a></div><div class= "thumb" id= "thumb-13169-5946" style= "Positio N:absolute; left:190px; top:0px; " > <a href= "/spiderman-city-raid" > <span class= "Gamename" id= "gamename-13169-5946" style= "Display:none;" >spiderman-city raid</span> <span class= "gamerating" id= "gamerating-13169-5946" style= "display:none; "> <span style=" width:67.01152px; ></span> </SPAN> </a></div>
PHP Processing:
<?php include (' phpquery-onefile.php '); $filePath = ' test.html '; $fileContent = file_get_contents ($filePath); $doc = phpquery::newdocumenthtml ($fileContent); Phpquery::selectdocument ($doc); $data = Array ( ' name ' = = = Array (), ' href ' = = Array (), ' img ' = = Array () ); foreach (PQ (' a ') as $t) { $href = $t-getattribute (' href '); $data [' href '] [] = $href; } foreach (' img ') as $img) { $data [' img '] [] = $domain. $img-getattribute (' src '); } foreach (PQ ('. Gamename ') as $name) { $data [' name '] [] = $name, nodevalue; } Var_dump ($data);? >
The above code contains the fetch attribute and the innertext content (via NodeValue).
Output:
Array (size=3) ' name ' = = Array (size=2) 0 = string ' spiderman City Drive ' (length=20) 1 = stri Ng ' spiderman-city Raid ' (length=21) ' href ' = = Array (size=2) 0 = String ' http://www.gahe.com/ Spiderman-city-drive ' (length=40) 1 = String ' Http://www.gahe.com/Spiderman-City-Raid ' (length=39) ' img ' = = Array (size=2) 0 = String ' http://www.gahe.com/thumb/12/Spiderman-City-Drive.jpg ' (length=53) 1 = String ' http://www.gahe.com/thumb/12/Spiderman-City-Raid.jpg ' (length=52)
The powerful is the PQ selector, the syntax is similar to jquery, very convenient.
Parse HTML code like jquery with Phpquery