3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); $htmlString = <<<_HTML <div> <a href="A"><img src="X"></a> <a href="C"><img src="X"></a> <a href="D"><img src="X"></a> <a href="E"><img src="X"></a> <a href="F"><img src="X"></a> <p> <a href="G"><img src="X"></a> </p> <a href="H">No image in this one</a> </div> _HTML; $doc = new DOMDocument(); $doc->loadHTML($htmlString, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); $xpath = new DOMXPath($doc); $links = $xpath->query('//a[@href and img]'); foreach ($links as $link) { $link->setAttribute('href', 'B'); } $newHtmlString = $doc->saveHTML(); echo $newHtmlString;
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
<div> <a href="B"><img src="X"></a> <a href="B"><img src="X"></a> <a href="B"><img src="X"></a> <a href="B"><img src="X"></a> <a href="B"><img src="X"></a> <p> <a href="B"><img src="X"></a> </p> <a href="H">No image in this one</a> </div>

preferences:
168.81 ms | 403 KiB | 197 Q