3v4l.org

run code in 300+ PHP versions simultaneously
<?php $reg_exUrl = "/((http|https)\:\/\/|(www)\.)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"; $text = 'some text http://google.bg/'; preg_match_all($reg_exUrl, $text, $matches); $usedPatterns = array(); foreach($matches[0] as $pattern){ if(!array_key_exists($pattern, $usedPatterns)) { echo $pattern; $usedPatterns[$pattern]=true; if(preg_match('%https://%',$pattern)) { $patttern = str_replace('https://', ''); $start = "https://"; } elseif(preg_match('%http://%',$pattern)) { $pattern = str_replace('http://', ''); $start = "http://"; } else { $start = "http://"; } $text = str_replace ($pattern, "<a href='{$start}{$pattern}' target='_blank'>{$pattern}</a> ", $text); } } echo $text;
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
http://google.bg/ Fatal error: Uncaught ArgumentCountError: str_replace() expects at least 3 arguments, 2 given in /in/HdDYZ:18 Stack trace: #0 /in/HdDYZ(18): str_replace('http://', '') #1 {main} thrown in /in/HdDYZ on line 18
Process exited with code 255.
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
http://google.bg/ Warning: str_replace() expects at least 3 parameters, 2 given in /in/HdDYZ on line 18 some text http://google.bg/
Output for 5.2.3 - 5.2.17
http://google.bg/ Warning: Wrong parameter count for str_replace() in /in/HdDYZ on line 18 some text http://google.bg/
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.2
http://google.bg/<br /> <b>Warning</b>: Wrong parameter count for str_replace() in <b>/in/HdDYZ</b> on line <b>18</b><br /> some text http://google.bg/

preferences:
265.48 ms | 403 KiB | 386 Q