Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich Root-Domains aus Subdomains in PHP?

Wie extrahiere ich Root-Domains aus Subdomains in PHP?

Barbara Streisand
Barbara StreisandOriginal
2024-10-22 08:13:30170Durchsuche

How to Extract Root Domain from Subdomains in PHP?

PHP: Root-Domain aus Subdomains extrahieren

Bei der Arbeit mit Domainnamen ist es oft notwendig, die Root-Domain von allen Subdomains zu trennen. Stellen Sie sich eine Variable vor, die verschiedene Domänenstrukturen enthält:

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

Unsere Aufgabe ist es, eine Funktion zu erstellen, die alle diese Variationen in ihre entsprechenden Stammdomänen umwandelt, wie zum Beispiel „example.com“ oder „example.org“. So geht's:

Lösung mit regulärem Ausdruck

<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>

Erklärung:

  • parse_url() zerlegt die URL in ihre Komponenten, einschließlich des Domänennamens.
  • Regulärer Ausdruck extrahiert nur die Stammdomäne mithilfe einer Erfassungsgruppe ((?P...))).
  • Das Muster stellt sicher, dass die Die Domain besteht aus:

    • Alphanumerischen Zeichen oder Bindestrichen
    • Maximale Länge von 63 Zeichen für die Subdomain
    • 2-6 Zeichenerweiterung (TLD), getrennt durch einen Punkt

Beispielverwendung:

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

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Root-Domains aus Subdomains 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