3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php /** * Return domain name from url * For example: "all.ru" from "http://www.all.ru/test/test.html" * * @param $url * @param bool $with_www * @return string : domain name */ function get_domain($url, $with_www = false) { $url = preg_replace('#^https?://#', '', trim($url)); $path = explode ('/', $url); $domain = strtolower(trim($path[0])); $domain = preg_replace('#^www.#', '', $domain); if($with_www) { $domain = 'www.' . $domain; } return $domain; } /** * Format URL * * @param $url * @return string */ function format_url($url) { $parsed_url = parse_url($url); var_dump($parsed_url); $host = get_domain($parsed_url['host'], false); $path = preg_replace('#index\.[a-z]+#', '', $parsed_url['path']); $url = $host . $path; if (isset($parsed_url['query'])) { $url .= '?' . $parsed_url['query']; } $url = rtrim($url, '/'); var_dump($url); return $url; } /** * Compare two formatted urls * * @param string $url_1 * @param string $url_2 * @return bool */ function compare_urls($url_1, $url_2) { return format_url($url_1) === format_url($url_2); } $url_1 = 'http://seos.bolseo.ru/index.php?module=2&siteID=235'; $url_2 = 'seos.bolseo.ru/?module=2&siteID=235'; var_dump(compare_urls($url_1, $url_2));
Output for 5.3.0 - 5.6.28, hhvm-3.10.0, 7.0.0 - 7.1.0
array(4) { ["scheme"]=> string(4) "http" ["host"]=> string(14) "seos.bolseo.ru" ["path"]=> string(10) "/index.php" ["query"]=> string(19) "module=2&siteID=235" } string(35) "seos.bolseo.ru/?module=2&siteID=235" array(2) { ["path"]=> string(15) "seos.bolseo.ru/" ["query"]=> string(19) "module=2&siteID=235" } Notice: Undefined index: host in /in/CGJXf on line 37 string(35) "seos.bolseo.ru/?module=2&siteID=235" bool(true)
Output for hhvm-3.12.0
array(4) { ["scheme"]=> string(4) "http" ["host"]=> string(14) "seos.bolseo.ru" ["path"]=> string(10) "/index.php" ["query"]=> string(19) "module=2&siteID=235" } string(35) "seos.bolseo.ru/?module=2&siteID=235" array(2) { ["path"]=> string(15) "seos.bolseo.ru/" ["query"]=> string(19) "module=2&siteID=235" } Notice: Undefined index: host in /in/CGJXf on line 37 Warning: trim() expects parameter 1 to be string, null given in /in/CGJXf on line 13 string(35) "seos.bolseo.ru/?module=2&siteID=235" bool(true)
Output for 4.3.0 - 5.2.17
array(4) { ["scheme"]=> string(4) "http" ["host"]=> string(14) "seos.bolseo.ru" ["path"]=> string(10) "/index.php" ["query"]=> string(19) "module=2&siteID=235" } string(35) "seos.bolseo.ru/?module=2&siteID=235" array(2) { ["path"]=> string(15) "seos.bolseo.ru/" ["query"]=> string(19) "module=2&siteID=235" } Notice: Undefined index: host in /in/CGJXf on line 37 string(35) "seos.bolseo.ru/?module=2&siteID=235" bool(true)