Maison > développement back-end > tutoriel php > Comment vérifier que la chaîne d'entrée est le format d'URL correct à l'aide d'expressions régulières PHP

Comment vérifier que la chaîne d'entrée est le format d'URL correct à l'aide d'expressions régulières PHP

WBOY
Libérer: 2023-06-24 12:10:02
original
1910 Les gens l'ont consulté

À l’ère d’Internet d’aujourd’hui, les sites Web sont devenus un élément indispensable de nos vies. Pour tout site Web, son URL est le composant le plus élémentaire. Cependant, il existe de nombreux formats d'URL. Certains commencent par http:// ou https://, certains commencent par www. et certains commencent par un nom de domaine de deuxième niveau. Alors, comment utiliser les expressions régulières PHP pour vérifier si la chaîne d'entrée est au bon format d'URL ? Autant le découvrir.

1. Comprendre les expressions régulières

L'expression régulière est un puissant outil de traitement de texte qui peut nous aider à faire correspondre et à extraire des chaînes spécifiques. En PHP, les expressions régulières peuvent être réalisées à l'aide de la fonction preg_match(). Si nous voulons vérifier si une chaîne est conforme à un certain format, nous devons utiliser des expressions régulières.

2. Expressions régulières pour vérifier le format de l'URL

En PHP, nous pouvons utiliser des expressions régulières pour vérifier si une chaîne est conforme au format de l'URL. Ce qui suit est une expression régulière de format d'URL simple :

/^((https|http|ftp|rtsp|mms)?://)[^s]+/
Copier après la connexion

Cette expression régulière correspondra aux formats d'URL commençant par http, https, ftp, rtsp, mms et d'autres protocoles. Si vous souhaitez vérifier que l'URL ne peut commencer qu'avec un protocole spécifié, vous pouvez remplacer (https|http|ftp|rtsp|mms) dans l'expression régulière par n'importe quel protocole.

3. Optimiser davantage l'expression régulière

Bien que l'expression régulière ci-dessus puisse correspondre à la plupart des modèles d'URL, elle présente encore de nombreux défauts. Par exemple, il ne peut pas correspondre aux noms de domaine de deuxième niveau, mais ne peut correspondre qu'aux noms de domaine de troisième niveau et supérieur. Il faut donc optimiser.

Ce qui suit est une expression régulière de format d'URL plus complète :

/^((https|http|ftp|rtsp|mms)?://)[^s]+.[^s]{2,}|(www.)[^s]+.[^s]{2,}$/i
Copier après la connexion

Cette expression régulière peut correspondre aux types d'URL suivants :

  • http://www.example.com
  • https://www.example com.
  • ftp://www.example.com
  • rtsp://www.example.com
  • mms://www.example.com
  • www.example.com
  • xxx.example.com (deux niveaux nom de domaine)

Il convient de noter que cette expression régulière n'est pas sensible à la casse, c'est-à-dire que /i signifie insensible à la casse.

4. Utilisez la fonction preg_match() pour vérifier le format de l'URL

Maintenant que nous avons l'expression régulière, l'étape suivante consiste à utiliser la fonction preg_match() en PHP pour vérifier si une chaîne est conforme au format de l'URL.

$url = 'http://www.example.com';
$pattern = '/^((https|http|ftp|rtsp|mms)?://)[^s]+.[^s]{2,}|(www.)[^s]+.[^s]{2,}$/i';
if (preg_match($pattern, $url)) {
    echo '字符串符合网址格式';
} else {
    echo '字符串不符合网址格式';
}
Copier après la connexion

Dans le code ci-dessus, $url est la chaîne à vérifier et $pattern est l'expression régulière au format URL. Si $string est conforme au format URL, la chaîne de sortie est conforme au format URL, sinon la chaîne de sortie n'est pas conforme au format URL.

5. Résumé

L'expression régulière est un outil de traitement de texte très puissant, qui peut nous aider à faire correspondre et extraire rapidement des chaînes spécifiques. Lorsque vous utilisez PHP pour vérifier le modèle d'URL, nous pouvons utiliser la fonction preg_match() et l'expression régulière du modèle d'URL pour compléter. Dans le même temps, afin d'améliorer la précision des expressions régulières, nous devons continuellement les optimiser et les améliorer afin qu'elles puissent correspondre à des modèles d'URL plus complexes.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal