3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string='<a blah href="http://example.com/readme.zip" blah2></a><img ><a blah href="http://example.com/readme.zqp" blah2></a>'; echo preg_replace('/(href="[^"]*\.(?!(?:zip|pdf|txt)")[^."]+")/', '$1 target="_blank"', $string) . "\n"; $doc = new DOMDocument(); $doc->loadHTML("<html>$string</html>", LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); foreach ($doc->getElementsByTagName('a') as $a) { $href = $a->getAttribute('href'); if (!preg_match('/(zip|pdf|txt)$/', $href)) { $a->setAttribute('target', '_blank'); } } echo substr($doc->saveHTML(), 6, -8);

preferences:
24.51 ms | 406 KiB | 5 Q