Friday 3 January 2020

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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...