3v4l.org

run code in 300+ PHP versions simultaneously
<?php $html = <<<HTML <p>Some random text <img src="anything.jpg"> text <iframe data-whoops="<img" src="anything.jpg"></iframe></p> HTML; define('DOC_ROOT', 'www.example.com/'); echo "With regex:\n"; echo preg_replace('/<img([^>]*)src=["\']([^"\'\\/][^"\']*)["\']/', '<img\1src="'.DOC_ROOT.'\2"', $html); echo "\n\n---\n\nWith a parser:\n"; $dom = new DOMDocument; $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); foreach ($dom->getElementsByTagName('img') as $img) { $img->setAttribute('src', DOC_ROOT . $img->getAttribute('src')); } echo $dom->saveHTML();
Output for 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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
With regex: <p>Some random text <img src="www.example.com/anything.jpg"> text <iframe data-whoops="<img" src="www.example.com/anything.jpg"></iframe></p> --- With a parser: <p>Some random text <img src="www.example.com/anything.jpg"> text <iframe data-whoops="&lt;img" src="anything.jpg"></iframe></p>

preferences:
156.72 ms | 408 KiB | 5 Q