3v4l.org

run code in 200+ PHP versions simultaneously
<?php $html = <<<HTML <div> <img src="icons/example.svg"> <img src="{{asset('icons/example.svg')}}"/> <a href="http://www.example.com">a link</a> <link href="css/example.css"> <link href="{{asset('css/example.css')}}"/> <iframe src="http://www.example.com/default.htm"></iframe> </div> HTML; $dom = new DOMDocument(); $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); $xpath = new DOMXPath($dom); foreach ($xpath->query('//img[not(starts-with(@src,"{{asset"))]/@src | //link[not(starts-with(@href,"{{asset"))]/@href') as $attr) { $attr->value = "{{asset('" . $attr->value . "')}}"; } echo substr($dom->saveXML(), 38); // remove the auto-generated xml tag from the start
based on GnRUQ
Output for 7.2.0 - 7.4.6
<div> <img src="{{asset('icons/example.svg')}}"/> <img src="{{asset('icons/example.svg')}}"/> <a href="http://www.example.com">a link</a> <link href="{{asset('css/example.css')}}"/> <link href="{{asset('css/example.css')}}"/> <iframe src="http://www.example.com/default.htm"/> </div>