3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<HTML <table cellspacing="1" cellpadding="1" class="troop_details inAttack" > <thead> <tr> <td class="role"> <a href="/karte.php?d=91629">02]</a> </td> <td colspan="11" class="troopHeadline"> <a class="markAttack" onclick="Travian.AttackSymbol.markAttackSymbol(29447487);return false;"><img id="markSymbol_29447487" class="markAttack markAttack0" src="/img/x.gif" title="mark attack" alt="mark attack" /></a> <a href="/karte.php?d=91628">Uanm attacks 01] #WorkInProgress</a> </td> </tr> </thead> <tbody class="units"> <tr> <th class="coords"> &#x202d;<span class="coordinates coordinatesWrapper coordinatesAligned coordinatesltr"><span class="coordinateX">(&#x202d;0&#x202c;</span><span class="coordinatePipe">|</span><span class="coordinateY">&#x202d;&minus;&#x202d;28&#x202c;&#x202c;)</span></span>&#x202c; </th> <td class="uniticon"> <img class="unit u21" title="Phalanx: 0:04:17" alt="Phalanx" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u22" title="Swordsman: 0:05:00" alt="Swordsman" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u23" title="Pathfinder: 0:01:46" alt="Pathfinder" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u24" title="Theutates Thunder: 0:01:35" alt="Theutates Thunder" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u25" title="Druidrider: 0:01:53" alt="Druidrider" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u26" title="Haeduan: 0:02:18" alt="Haeduan" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u27" title="Ram: 0:07:30" alt="Ram" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u28" title="Trebuchet: 0:10:00" alt="Trebuchet" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u29" title="Chieftain: 0:06:00" alt="Chieftain" src="/img/x.gif" /> </td> <td class="uniticon"> <img class="unit u30" title="Settler: 0:06:00" alt="Settler" src="/img/x.gif" /> </td> <td class="uniticon last"> <img class="unit uhero" title="Hero" alt="Hero" src="/img/x.gif" /> </td> </tr> </tbody> <tbody class="units last"> <tr> <th>Troops</th> <td class="unit"> 1 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none"> 0 </td> <td class="unit none last"> 0 </td> </tr> </tbody> <tbody class="infos"> <tr> <th>Arrival</th> <td colspan="11"> <div class="in">in&nbsp;<span class="timer" counting="down" value="246">0:04:06</span>&nbsp;hrs.</div> <div class="at"><span>at&nbsp;14:23:09</span><span> </span></div> </td> </tr> </tbody> </table> HTML; $dom = new DOMDocument; libxml_use_internal_errors(true); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $tablePath = $xpath->query("//table[contains(@class, 'troop_details') and contains(@class, 'inAttack')]")[0]->getNodePath(); $xy = ltrim($xpath->query("$tablePath//span[@class='coordinateX']")[0]->nodeValue, '(') . ' ' . rtrim($xpath->query("$tablePath//span[@class='coordinateY']")[0]->nodeValue, ')'); $units = []; foreach ($xpath->query("$tablePath//tbody[contains(@class, 'units') and contains(@class, 'last')]//td[contains(@class, 'unit')]/text()") as $unit) { $units[] = trim($unit->nodeValue); } var_export($xy); echo "\n"; var_export(implode(' ', $units));

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.4.120.0140.00720.78
8.4.110.0090.01219.40
8.4.100.0150.00718.27
8.4.90.0100.01021.04
8.4.80.0100.01119.44
8.4.70.0050.00421.39
8.4.60.0120.01021.00
8.4.50.0100.01018.23
8.4.40.0070.01018.03
8.4.30.0170.00320.74
8.4.20.0110.01118.55
8.4.10.0070.01319.91
8.3.250.0110.00819.66
8.3.240.0030.00617.02
8.3.230.0120.00417.30
8.3.220.0040.00421.38
8.3.210.0130.00717.18
8.3.200.0050.00417.27
8.3.190.0110.00817.61
8.3.180.0100.00617.02
8.3.170.0090.00017.96
8.3.160.0070.00319.04
8.3.150.0090.00621.27
8.3.140.0200.00017.36
8.3.130.0130.00618.89
8.3.120.0090.00019.40
8.3.110.0030.00620.94
8.3.100.0110.01116.95
8.3.90.0120.00326.77
8.3.80.0100.00019.36
8.3.70.0100.01017.38
8.3.60.0150.00717.25
8.3.50.0100.00823.92
8.3.40.0140.00719.46
8.3.30.0090.00619.59
8.3.20.0050.00324.18
8.3.10.0000.00824.66
8.3.00.0080.00026.16
8.2.290.0060.00317.71
8.2.280.0040.00420.58
8.2.270.0130.00617.59
8.2.260.0080.00017.15
8.2.250.0080.00019.27
8.2.240.0090.00619.18
8.2.230.0030.00622.58
8.2.220.0060.00324.06
8.2.210.0090.00626.77
8.2.200.0090.00018.88
8.2.190.0120.00618.52
8.2.180.0070.00725.92
8.2.170.0120.00319.44
8.2.160.0100.00322.96
8.2.150.0040.00425.66
8.2.140.0080.00024.66
8.2.130.0070.00026.16
8.2.120.0080.00021.38
8.2.110.0030.00620.85
8.2.100.0040.00818.34
8.2.90.0060.00318.53
8.2.80.0030.00518.66
8.2.70.0080.00018.13
8.2.60.0050.00318.13
8.2.50.0000.00818.13
8.2.40.0040.00418.47
8.2.30.0000.00918.46
8.2.20.0000.00818.53
8.2.10.0030.00619.64
8.2.00.0000.00919.72
8.1.330.0130.00616.76
8.1.320.0120.00918.44
8.1.310.0070.01117.13
8.1.300.0130.00718.62
8.1.290.0080.00330.84
8.1.280.0120.00825.92
8.1.270.0080.00321.14
8.1.260.0040.00426.35
8.1.250.0000.00928.09
8.1.240.0070.00324.28
8.1.230.0000.01222.50
8.1.220.0030.00518.41
8.1.210.0000.00919.53
8.1.200.0060.00317.60
8.1.190.0050.00319.47
8.1.180.0030.00618.10
8.1.170.0040.00419.05
8.1.160.0000.00819.27
8.1.150.0000.00819.33
8.1.140.0080.00019.39
8.1.130.0000.00817.84
8.1.120.0000.00817.93
8.1.110.0030.00617.82
8.1.100.0040.00417.82
8.1.90.0080.00017.92
8.1.80.0040.00717.77
8.1.70.0040.00417.73
8.1.60.0030.00518.03
8.1.50.0030.00617.98
8.1.40.0080.00317.90
8.1.30.0080.00017.96
8.1.20.0080.00318.00
8.1.10.0000.00917.93
8.1.00.0090.00017.92
8.0.300.0050.00320.40
8.0.290.0030.00617.13
8.0.280.0000.00718.88
8.0.270.0080.00018.39
8.0.260.0030.00317.26
8.0.250.0040.00417.50
8.0.240.0030.00517.33
8.0.230.0000.00717.49
8.0.220.0050.00317.25
8.0.210.0070.00017.41
8.0.200.0000.00717.48
8.0.190.0030.00517.47
8.0.180.0040.00417.45
8.0.170.0030.00717.42
8.0.160.0080.00017.46
8.0.150.0030.00517.22
8.0.140.0080.00317.37
8.0.130.0030.00313.90
8.0.120.0040.00417.39
8.0.110.0040.00417.34
8.0.100.0040.00417.32
8.0.90.0040.00417.47
8.0.80.0090.01117.32
8.0.70.0040.00417.23
8.0.60.0030.00517.33
8.0.50.0080.00017.41
8.0.30.0070.01117.31
8.0.20.0060.01317.38
8.0.10.0030.01817.52
8.0.00.0130.00717.79
7.4.330.0000.00515.55
7.4.320.0030.00317.05
7.4.300.0030.00316.94
7.4.290.0030.00616.88
7.4.280.0000.00916.91
7.4.270.0030.00616.91
7.4.260.0060.00013.83
7.4.250.0040.00417.00
7.4.240.0000.00816.96
7.4.230.0030.00516.95
7.4.220.0040.00416.93
7.4.210.0070.00817.01
7.4.200.0050.00316.82
7.4.150.0090.00916.78
7.4.140.0100.01016.96
7.4.130.0150.00316.66
7.4.120.0110.00716.90
7.4.110.0110.00816.84
7.4.100.0190.00016.76
7.4.90.0060.01916.98
7.4.80.0090.00916.89
7.4.70.0100.00916.81
7.4.60.0130.01316.69
7.4.50.0060.01216.89
7.4.40.0150.00616.89
7.4.30.0170.00316.89
7.4.20.0100.01016.78
7.4.10.0140.00816.63
7.4.00.0070.01116.48
7.3.330.0040.00416.66
7.3.320.0000.00613.62
7.3.310.0000.00716.85
7.3.300.0030.00516.83
7.3.290.0080.00816.79
7.3.270.0080.01116.86
7.3.260.0090.01117.06
7.3.250.0060.01216.91
7.3.240.0120.00616.78
7.3.230.0060.01516.77
7.3.220.0170.00316.92
7.3.210.0090.00916.73
7.3.200.0090.00916.79
7.3.190.0080.01116.81
7.3.180.0060.01216.86
7.3.170.0100.00716.65
7.3.160.0130.01316.67
7.3.150.0090.01516.95
7.3.140.0140.00916.79
7.3.130.0100.01016.63
7.3.120.0100.01017.04
7.3.110.0150.00817.00
7.3.100.0130.01316.85
7.3.90.0140.01116.80
7.3.80.0120.00616.89
7.3.70.0080.00816.87
7.3.60.0100.01616.77
7.3.50.0230.00316.88
7.3.40.0040.01516.61
7.3.30.0100.00716.71
7.3.20.0090.00916.90
7.3.10.0110.00716.71
7.3.00.0100.01016.77

preferences:
29.07 ms | 403 KiB | 5 Q