Maison  >  Article  >  développement back-end  >  Pratique des expressions régulières PHP : faire correspondre les noms de domaine

Pratique des expressions régulières PHP : faire correspondre les noms de domaine

王林
王林original
2023-06-23 11:36:241839parcourir

Expressions régulières PHP en action : correspondance des noms de domaine

Les expressions régulières sont une technique de traitement de chaîne puissante qui peut être utilisée pour vérifier si l'entrée correspond à un modèle spécifique et effectuer des opérations spécifiques lorsque les conditions sont remplies. Dans le domaine de PHP, les expressions régulières constituent une compétence de base et sont largement utilisées dans de nombreuses tâches, notamment la validation de données, l'analyse de texte, etc.

Dans cet article, nous présenterons comment utiliser les expressions régulières PHP pour faire correspondre un nom de domaine et extraire ses composants. Un nom de domaine est le nom utilisé pour identifier l'adresse Internet d'un ou plusieurs appareils. Il comprend généralement un nom d'hôte et un nom de domaine. Par exemple, www.example.com est un nom de domaine typique, où www est le nom d'hôte et example.com est le nom de domaine.

Les étapes pour utiliser des expressions régulières pour faire correspondre les noms de domaine sont les suivantes :

  1. Analyser les composants du nom de domaine et déterminer le modèle de correspondance.

Un nom de domaine se compose de plusieurs parties, notamment le nom d'hôte, le nom de sous-domaine et le nom de domaine de premier niveau. Parmi eux, le nom d'hôte fait référence au nom attribué à un périphérique spécifique, généralement l'un des noms prédéfinis tels que www, ftp ou mail. Un sous-domaine est un nom de domaine de premier niveau précédé d'autre chose, tel que news.example.com ou blog.example.com. Le nom de domaine de premier niveau fait référence au nom de plusieurs catégories principales telles que .com, .org, .net, etc. C'est la dernière partie de chaque nom de domaine.

Afin de faire correspondre les noms de domaine, nous devons définir un ensemble de modèles de correspondance afin d'extraire les différents composants du nom de domaine. Voici quelques modèles de correspondance courants :

  • Faites correspondre les noms de domaine de premier niveau

Dans les expressions régulières, vous pouvez utiliser "." pour faire correspondre les points. Ainsi, pour faire correspondre un nom de domaine de premier niveau, vous pouvez utiliser le modèle suivant :

/.[a-z]{2,}$/i

Cela correspondra aux deux derniers caractères d'un nom de domaine de premier niveau (par exemple .com ou .org).

  • Match sous-domaines

De même, pour faire correspondre les sous-domaines, nous pouvons utiliser des caractères point et certaines classes de caractères. Voici un exemple de modèle :

/.([a-z0-9-]+).[a-z]{2,}$/i

Cela correspondra aux sous-domaines du formulaire subdomain.example.com.

  • Match Hostname

Un nom d'hôte est le nom utilisé pour identifier un appareil. Il s'agit généralement de l'un des noms prédéfinis tels que www, ftp, mail ou pop3. Pour faire correspondre les noms d'hôte, vous pouvez utiliser le modèle suivant :

/^([a-z0-9_-]+)./i

Cela correspondra à la première partie du nom d'hôte.

  1. Utilisation d'expressions régulières en PHP

PHP fournit un ensemble de fonctions et d'outils intégrés pour utiliser des expressions régulières dans vos applications. L'une des fonctions les plus couramment utilisées est preg_match(), qui recherche dans une chaîne le texte correspondant à un modèle spécifique. Voici un exemple d'utilisation de la fonction preg_match() pour faire correspondre un nom de domaine :

$domain = "www.example.com";

// 匹配主机名
preg_match('/^([a-z0-9_-]+)./i', $domain, $matches);
$hostname = $matches[1]; // 输出:www

// 匹配子域名
preg_match('/.([a-z0-9-]+).[a-z]{2,}$/i', $domain, $matches);
$subdomain = $matches[1]; // 输出:example

// 匹配顶级域名
preg_match('/.[a-z]{2,}$/i', $domain, $matches);
$tld = $matches[0]; // 输出:.com

Dans cet exemple, nous utilisons la fonction preg_match() pour extraire le nom d'hôte, le nom de sous-domaine et le nom de domaine de premier niveau d'une chaîne. Lorsque vous utilisez des expressions régulières pour faire correspondre du texte, vous utilisez généralement des groupes de capture, qui peuvent être utilisés pour extraire les sous-chaînes correspondantes. Dans l'exemple ci-dessus, nous utilisons le tableau $matches pour stocker les résultats correspondants du groupe de capture.

Résumé

L'utilisation d'expressions régulières pour faire correspondre les noms de domaine nous aide à identifier et à extraire les différents composants du nom de domaine. Il existe une variété de modèles d'expressions régulières qui peuvent être utilisés pour faire correspondre les noms de domaine, notamment les noms d'hôte, les sous-domaines, les domaines de premier niveau, etc. En PHP, nous pouvons utiliser la fonction preg_match() pour appliquer ces modèles afin d'extraire différentes parties du nom de domaine.

Bien qu'il faille prêter attention à certains détails lors de l'utilisation d'expressions régulières, la maîtrise de cette compétence est extrêmement utile et peut aider les développeurs à traiter le texte et les données plus efficacement. En étudiant les exemples et les techniques de cet article, vous pouvez commencer à écrire des expressions régulières plus complexes pour répondre à vos besoins spécifiques.

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