Maison >développement back-end >tutoriel php >Comment extraire les noms de domaine racine des sous-domaines en 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!