function clean_url( $url )
{
if ( $url == '' ) return false;
$url = str_replace( 'http://', '', mb_strtolower( $url ) );
$url = str_replace( 'https://', '', $url );
if ( mb_substr( $url, 0, 4 ) == 'www.' ) $url = mb_substr( $url, 4 );
$url = explode( '/', $url );
$url = reset( $url );
$url = explode( ':', $url );
$url = reset( $url );
return $url;
}
$url = 'http://mysite.org/page.html';
echo clean_url( $url );
Результат выполнения:mysite.org
Разберем данную функцию.Аргументом функции "$url" должен быть URL адрес. Значение данного аргумента можно взять с "$_SERVER['HTTP_HOST']". Если аргумент не задан, функция вернет "FALSE".
Далее, с помощью функции Str_replace извлекаем из URL название протокола (http:// и https://) и с помощью функции Mb_strtolower превращаем строку в нижний регистр.
Далее функция Mb_substr проверяет первые 4 символа, и если они представляют собой комбинацию "www.", тогда вырезаем их, начиная строчку с 5 символа.
Функция Explode разбивает строку на подстроки, и разделителем служит символ "/".
Следующим шагом является установка внутреннего указателя массива на его первый элемент функцией Reset.
И последним действием мы повторим 2 последних пункта, только теперь разделителем служить символ ":". Этим мы уберем с URL адрес порта, если он присутствует.
Результатом функции мы получим чистый адрес сайта, без портов, без протокола и дополнительной части.