3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<HTML <a href="SOME_URL"> <a href="SOME_URL_2"> <a href="SOME_URL_DEEP"> </a> </a> </a> <a href="SOME_URL3"> <a href="SOME_URL_4"> </a> </a> <a href="SOME_URL_5"> </a> <a href="SOME_URL_6"> </a> HTML; do { $html = preg_replace( '#<a[^>]*>(?:(?!</?a).)*(<a[^>]*>(?:(?!</?a).)*</a>)(?:(?!</?a).)*</a>#si', '$1', $html, -1, $count ); } while ($count); $dom = new DOMDocument(); $dom->loadHTML($html); $result = []; foreach($dom->getElementsByTagName('a') as $node) { $result[] = $node->getAttribute('href'); } var_export($result);
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array ( 0 => 'SOME_URL_DEEP', 1 => 'SOME_URL_4', 2 => 'SOME_URL_5', 3 => 'SOME_URL_6', )

preferences:
55.39 ms | 402 KiB | 62 Q