- print_r: documentation ( source)
- strtolower: documentation ( source)
<?php
$html = '<html>
<body>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0> <TR> <TD BGCOLOR=000000> <TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4> <TR STYLE="font-weight: 700;" ALIGN=CENTER BGCOLOR=99CCFF>
<td>Product</td>
<td>Quantity</td>
<td>Retail Price</td>
<td>Total Retail Price</td>
<td>UPC</td>
</tr>
<tr bgcolor="FFFFFF">
<td style="">Smith High-Water Chroma Pop+ Polar Chromic NXT Sunglasses, Black</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">$259.00</td>
<td style="text-align: right;">$259.00</td>
<td style=""></td>
</tr>
<tr bgcolor="FFFFFF">
<td style="">Guest 2613A Charge Pro Series Marine Battery Charger (12/24-Volt, 15-Amps 5/5/5, Triple Output)</td>
<td style="text-align: right;">1</td>
<td style="text-align: right;">$179.18</td>
<td style="text-align: right;">$179.18</td>
<td style=""></td>
</tr>
</table>
</body>
</html>';
$dom = new DOMDocument();
$dom->loadHTML($html);
// Grab first table from dom and store its rows and columns by tag name.
$rows = $dom->getElementsByTagName('table')->item(1)->getElementsByTagName('tr');
$headers = $rows->item(0)->getElementsByTagName('td');
$resultArray = [];
$keys = [];
foreach($headers as $header) {
$keys[] = strtolower($header->nodeValue);
}
print_r($keys);
foreach($rows as $i => $row) {
if ($i<1) {continue;}
$item = [];
foreach($keys as $j=>$key) {
$cells = $row->getElementsByTagName('td');
$item[$key] = $cells->item($j)->nodeValue;
}
$resultArray[] = $item;
}
print_r($resultArray);