1

以下の例からホスト名を取得する方法。

I/P: https://stackoverflow.com/users/login | O/P: stackoverflow.com

I/P: stackoverflow.com/users/login | O/P: stackoverflow.com

I/P: /users/login | O/P: (空の文字列を返す)

parse_url 関数をチェックしましたが、必要なものが返されません。PHP初心者なので、難しかったです。心当たりのある方、回答お願いします。

4

4 に答える 4

2

これはあらゆる種類のドメイン名で機能するはずです

$url = " https://stackoverflow.com/users/login";
// trailing slash for edge case, it will return empty string for strstr function regardless
$test = str_replace(array("http://", "https://"), "", $url) . "/";
$domain = strstr($test, "/", true);
echo $domain; // stackoverflow.com

$domainドメインが見つからない場合は空の文字列になります

于 2015-11-16T10:05:37.213 に答える
1

あなたはこれを試すことができます

<?php  

function getHost($Address) { 
   $parseUrl = parse_url(trim($Address)); 
   return trim(isset($parseUrl['host']) ? $parseUrl['host'] : array_shift(explode('/', $parseUrl['path'], 2))); 
} 

echo getHost('http://stackoverflow.com/users/login');
于 2015-11-16T09:18:43.500 に答える