Maison > développement back-end > tutoriel php > Comment extraire le domaine racine des sous-domaines en PHP ?

Comment extraire le domaine racine des sous-domaines en PHP ?

Barbara Streisand
Libérer: 2024-10-22 08:13:30
original
325 Les gens l'ont consulté

How to Extract Root Domain from Subdomains in PHP?

PHP : Extraire le domaine racine des sous-domaines

Lorsque vous travaillez avec des noms de domaine, il est souvent nécessaire de séparer le domaine racine de tous les sous-domaines. Considérons une variable contenant diverses structures de domaine :

here.example.com
example.com
example.org
here.example.org
Copier après la connexion

Notre tâche consiste à créer une fonction qui convertit toutes ces variantes en leurs domaines racine correspondants, tels que "exemple.com" ou "exemple.org". Voici comment :

Solution utilisant une expression régulière

<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>
Copier après la connexion

Explication :

  • parse_url() décompose l'URL en ses composants, y compris le nom de domaine.
  • L'expression régulière extrait uniquement le domaine racine à l'aide d'un groupe de capture ((?P...))).
  • Le modèle garantit que le le domaine se compose de :

    • Caractères alphanumériques ou tirets
    • Longueur maximale de 63 caractères pour le sous-domaine
    • Extension de 2 à 6 caractères (TLD) séparés par un point

Exemple d'utilisation :

<code class="php">echo get_domain("http://somedomain.co.uk"); // Outputs 'somedomain.co.uk'</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal