3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $pattern = '/(?:src|href)\=(?:\\\'|")([^\\\'"]+)(?:\\\'|")/'; $source = <<<SRC <a href="http://www.sape.ru">some text</a> <img src='logo.jpg' alt=''></a> SRC; $baseUrl = 'www.sape.ru'; $callback = function($matches) use ($baseUrl) { $srcTag = $matches[0]; $url = $matches[1]; $search = array( 'http://' 'https://', '../', './', '//', $baseUrl ); $url = str_replace($search, '', $url); $url = preg_replace('/^[^\/]\//', '/', $url); $path = parse_url($url, PHP_URL_PATH); //if (empty($path)) { // $path = '/'; //} $query = parse_url($url, PHP_URL_QUERY); if (!empty($query)) { $path.= '?' . $query; } $fragment = parse_url($url, PHP_URL_FRAGMENT); if (!empty($fragment)) { $path.= '#' . $fragment; } $resultUrl = $baseUrl . '/' . $path; var_dump($resultUrl); return $resultUrl; }; preg_replace_callback($pattern, $callback, $source);
Output for 5.4.0 - 5.4.16
Parse error: syntax error, unexpected ''https://'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /in/WiNTu on line 24
Process exited with code 255.
Output for 5.3.0 - 5.3.26
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /in/WiNTu on line 24
Process exited with code 255.