3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = ' <table id="myTable"> <tbody> <tr> <td>08/20/18</td> <td> <a href="https://example.com/1a">Text 1 A</a> </td> <td> <a href="https://example.com/1b">Test 1 B</a> </td> </tr> <tr> <td>08/21/18</td> <td> <a href="https://example.com/2a">Text 2 A</a> </td> <td> <a href="https://example.com/2b">Test 2 B</a> </td> </tr> </tbody> </table> '; $data = []; $doc = new DOMDocument(); $doc->loadHTML('<?xml encoding="utf-8" ?>' . $html); $xpath = new DOMXPath($doc); $trs = $xpath->query("//*[@id='myTable']/tbody/tr"); foreach ($trs as $i => $tr) { /** @var DOMElement $td */ foreach ($tr->childNodes as $td) { if ($td instanceof DOMElement) { $row = []; /** @var DOMElement $a */ foreach ($td->childNodes as $a) { /** @var DOMAttr $attribute */ foreach ($a->attributes as $attribute) { $row[$attribute->name] = $attribute->value; } $row['content'] = $td->nodeValue; } $data[$i][] = $row; } } } print_r($data);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.14, 8.4.16 - 8.4.17, 8.5.0 - 8.5.2
Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Warning: foreach() argument must be of type array|object, null given in /in/6cZfR on line 34 Array ( [0] => Array ( [0] => Array ( [content] => 08/20/18 ) [1] => Array ( [content] => Text 1 A [href] => https://example.com/1a ) [2] => Array ( [content] => Test 1 B [href] => https://example.com/1b ) ) [1] => Array ( [0] => Array ( [content] => 08/21/18 ) [1] => Array ( [content] => Text 2 A [href] => https://example.com/2a ) [2] => Array ( [content] => Test 2 B [href] => https://example.com/2b ) ) )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Warning: Invalid argument supplied for foreach() in /in/6cZfR on line 34 Array ( [0] => Array ( [0] => Array ( [content] => 08/20/18 ) [1] => Array ( [content] => Text 1 A [href] => https://example.com/1a ) [2] => Array ( [content] => Test 1 B [href] => https://example.com/1b ) ) [1] => Array ( [0] => Array ( [content] => 08/21/18 ) [1] => Array ( [content] => Text 2 A [href] => https://example.com/2a ) [2] => Array ( [content] => Test 2 B [href] => https://example.com/2b ) ) )

preferences:
203.64 ms | 417 KiB | 5 Q