Wednesday 19 October 2016

How to parse HTML table using PHP?











I need to fetch the second column of the given HTML table using PHP. How can I do it?



References:



Table to be parsed: http://bit.ly/Ak2xay




HTML code of this table: http://bit.ly/ACdLMn


Answer



For tidy HTML codes, one of the parsing approach can be DOM. DOM divides your HTML code into objects and then allows you to call the desired object and its values/tag name etc.



The official documentation of PHP HTML DOM parsing is available at http://php.net/manual/en/book.dom.php



For finding the values of second coloumn for the given table following DOM implementation can be done:




$data = file_get_contents('http://mytemporalbucket.s3.amazonaws.com/code.txt');

$dom = new domDocument;

@$dom->loadHTML($data);
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName('table');

$rows = $tables->item(1)->getElementsByTagName('tr');


foreach ($rows as $row) {
$cols = $row->getElementsByTagName('td');
echo $cols[2];
}

?>


Reference: Customized the code provided at How to parse this table and extract data from it? to match this question's demand.


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...