たとえば、次のURLがある場合、任意のURLのホスト名を取得したいと思います
$url = "http://www.google.com";
次に、すべてのタイプの URL に適用できるように、ドットのgoogle
後.
と拡張ドットの前にあるものだけを取得したいと考えています。.
結果は次のようになりますgoogle
。これには正規表現が必要になるか、何らかの方法でそれを行う方法が必要になると思います、ありがとう。
あなたが試すことができます
echo __extractName("http://google.com");
echo __extractName("http://office1.dept1.google.com");
echo __extractName("http://google.co.uk");
function __extractName($url)
{
$domain = parse_url($url , PHP_URL_HOST);
if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $list)) {
return substr($list['domain'], 0,strpos($list['domain'], "."));
}
return false;
}
出力
google
google
google
URLを構成するさまざまなコンポーネントの連想配列を返すPHPのparse_url()関数を確認する必要があります。
$url = "http://www.google.com";
print_r(parse_url($url));
次の配列をエコーします。
Array ( [scheme] => http [host] => www.google.com )
上記の関数はあなたにスタートを与えるだけです。ここから取得する方法については、次のStackoverflowアーカイブを確認してください。
編集(さらにいくつかのアーカイブ-あなたが何をグーグル/試したかわかりません)