- var_dump: documentation ( source)
- rtrim: documentation ( source)
- explode: documentation ( source)
- parse_url: documentation ( source)
- trim: documentation ( source)
- preg_replace: documentation ( source)
- strtolower: documentation ( source)
<?php
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;
}
function format_url($url) {
if(parse_url($url, PHP_URL_SCHEME) === null) {
$url = 'http://' . $url; //parse_url() requires scheme to parse URL correctly
}
$parsed_url = parse_url($url);
$formatted_url = get_domain($parsed_url['host'], false);
if (isset($parsed_url['path'])) {
$formatted_url .= $parsed_url['path'];
}
if (isset($parsed_url['query'])) {
$formatted_url .= '?' . $parsed_url['query'];
}
$formatted_url = rtrim($formatted_url, '/');
return $formatted_url;
}
$url = 'http://www.igrushka-spb.ru/index.php?categoryID=1718';
var_dump(format_url($url));