Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich Stammdomänennamen aus Subdomänen in PHP?

Wie extrahiere ich Stammdomänennamen aus Subdomänen in PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-10-22 08:10:30393Durchsuche

How to Extract Root Domain Names from Subdomains in PHP?

Domänennamen aus Subdomänen in PHP extrahieren

In PHP ist das Abrufen des Stammdomänennamens aus einer Subdomäne eine häufige Aufgabe. Stellen Sie sich ein Szenario vor, in dem Sie auf Variablen wie diese stoßen:

here.example.com
example.com
example.org
here.example.org

Sie möchten diese Werte in ihre Stammdomänennamen umwandeln, z. B. example.com oder example.org. Um dies zu erreichen, ist eine gut ausgearbeitete Funktion erforderlich.

Lösung

Das folgende Snippet zeigt eine Funktion namens get_domain(), die den Stammdomänennamen effektiv extrahiert:

<code class="php">function get_domain($url)
{
  $pieces = parse_url($url);
  $domain = isset($pieces['host']) ? $pieces['host'] : '';
  if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
    return $regs['domain'];
  }
  return false;
}</code>

Diese Funktion nutzt die integrierte Funktion parse_url(), um die URL aufzuschlüsseln und die Hostkomponente abzurufen. Anschließend wird ein regulärer Ausdruck verwendet, um den Root-Domain-Namen zu validieren und zu extrahieren, um sicherzustellen, dass er den gängigen Domain-Namenskonventionen entspricht.

Durch den Aufruf von get_domain() mit der gewünschten URL können Sie den Root-Domain-Namen mühelos isolieren :

<code class="php">print get_domain("http://somedomain.co.uk"); // outputs 'somedomain.co.uk'</code>

In Fällen, in denen die URL nicht den akzeptablen Domänenstrukturen entspricht, behandelt die Funktion diese Randfälle ordnungsgemäß, indem sie „false“ zurückgibt.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Stammdomänennamen aus Subdomänen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn