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

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

Linda Hamilton
Linda Hamiltonoriginal
2024-10-22 08:10:30510parcourir

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

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

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

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

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.

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