3v4l.org

run code in 300+ PHP versions simultaneously
<?php $result = <<<HTML <a href="SOME_URL"> <a href="SOME_URL_2"> </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; $dom = new DOMDocument(); @$dom->loadHTML($result); foreach($dom->getElementsByTagName('a') as $link) { $tag_html = $dom->saveHTML($link); //Get tag inner html if (substr_count($tag_html, "href") > 1) { //If tag contains more than one href attribute preg_match_all('/href="([^"]*)"/is', $tag_html, $link_output, PREG_SET_ORDER); $output[] = $link_output[1][1]; //Output second href } else { //Not nested tag $output[] = $link->getAttribute('href'); //Output first href } } echo "<pre>"; print_r($output); echo "</pre>";
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
<pre>Array ( [0] => SOME_URL [1] => SOME_URL_2 [2] => SOME_URL3 [3] => SOME_URL_4 [4] => SOME_URL_5 [5] => SOME_URL_6 ) </pre>

preferences:
55.74 ms | 402 KiB | 62 Q