"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment extraire les noms de domaine racine des sous-domaines en PHP ?

Comment extraire les noms de domaine racine des sous-domaines en PHP ?

Publié le 2024-11-25
Parcourir:155

How to Extract Root Domain Names from Subdomains in PHP?

Extraire des noms de domaine à partir de sous-domaines en PHP

En PHP, obtenir le nom de domaine racine d'un sous-domaine est une tâche courante. Imaginez un scénario dans lequel vous rencontrez des variables telles que celles-ci :

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

Vous souhaitez transformer ces valeurs en leurs noms de domaine racine, tels que example.com ou example.org. Pour y parvenir, une fonction bien conçue est requise.

Solution

L'extrait suivant montre une fonction appelée get_domain() qui extrait efficacement le nom de domaine racine :

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

Cette fonction utilise la fonction parse_url() intégrée pour décomposer l'URL et récupérer le composant hôte. Par la suite, il utilise une expression régulière pour valider et extraire le nom de domaine racine, garantissant ainsi qu'il respecte les conventions de dénomination de domaine courantes.

En appelant get_domain() avec l'URL souhaitée, vous pouvez facilement isoler le nom de domaine racine. :

print get_domain("http://somedomain.co.uk"); // outputs 'somedomain.co.uk'

Dans les cas où l'URL n'est pas conforme aux structures de domaine acceptables, la fonction gère gracieusement ces cas extrêmes en renvoyant false.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729555699. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3