3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $text = <<<TXT http://www.something.com and https://www.something.com</p> are working. Also http://www.something.com/some/thing/index.html works. www.something.com not and http://something.com. also gives a problem. Also https://something.com/something/else/test?something=true. This is a test for the URL thingy.This is a test for the URL thingy.This is.... etc.. TXT; if (preg_match_all('~(https?://|www)[a-z\d.-]+[\w/.?=&%:#]*\w~i', $text, $matches)) { foreach ($matches[0] as $url) { $prefix = stripos($url, 'www') === 0 ? 'http://' : ''; $text = str_replace($url, "<a href='{$prefix}{$url}'>{$url}</a>", $text); } } echo $text;
Output for 5.6.38 - 7.3.0
<a href='http://<a href='http://www.something.com'>www.something.com</a>'>http://<a href='http://www.something.com'>www.something.com</a></a> and <a href='https://<a href='http://www.something.com'>www.something.com</a>'>https://<a href='http://www.something.com'>www.something.com</a></a></p> are working. Also <a href='http://<a href='http://www.something.com'>www.something.com</a>'>http://<a href='http://www.something.com'>www.something.com</a></a>/some/thing/index.html works. <a href='http://www.something.com'>www.something.com</a> not and <a href='http://something.com'>http://something.com</a>. also gives a problem. Also <a href='https://something.com/something/else/test?something=true'>https://something.com/something/else/test?something=true</a>. This is a test for the URL thingy.This is a test for the URL thingy.This is.... etc..