Intereting Posts

Получение расширения домена из URL?

Я хочу получить расширение домена из URL-адреса. например. .com, .net и т. д.

Я использовал это:

$extension = pathinfo($_SERVER['SERVER_NAME'], PATHINFO_EXTENSION); 

Мне просто интересно, есть ли лучший способ использования parse_url?

Related of "Получение расширения домена из URL?"

Используйте parse_url() . Что-то вроде:

 $host = parse_url('http://www.google.co.uk/test.html'); preg_match('/(.*?)((\.co)?.[az]{2,4})$/i', $host['host'], $m); $ext = isset($m[2]) ? $m[2]: ''; 

Изменить: Исправлено с регулярным выражением из этого ответа . Также поддерживается расширение, например .co.uk.

Вы можете легко разбить запрошенный URI следующим образом:

 function tld( $uri ) { $parts = explode('.', $uri); return (sizeof($parts) ? ('.' . end($parts)) : false; } 

Таким образом, вы можете сделать это:

 if(!tld('googlecom')) // does not contain an ending TLD if(tld('google.com')) // this is a valid domain name; output: ".com" 

Или вы можете просто использовать:

 echo $_SERVER['SERVER_NAME']; 

Таким образом, в моем выступлении самым лучшим примером использования является:

 echo tld($_SERVER['SERVER_NAME']);