Maison > développement back-end > tutoriel php > Expression régulière PHP en action : correspondance d'URL

Expression régulière PHP en action : correspondance d'URL

WBOY
Libérer: 2023-06-22 19:12:01
original
2234 Les gens l'ont consulté

Pratique des expressions régulières PHP : faire correspondre les URL

Avec la popularité d'Internet, les URL sont devenues un élément indispensable de la vie quotidienne. Dans la conception Web, l'exploration de données, etc., nous devons souvent utiliser des expressions régulières pour faire correspondre les URL. Dans cet article, nous nous concentrerons sur la façon dont les expressions régulières en PHP peuvent être utilisées pour faire correspondre les URL.

Structure de base d'une URL

Tout d'abord, comprenons la structure de base d'une URL. De manière générale, une URL se compose des éléments suivants :

Nom du protocole : http, https, etc.
Nom d'hôte : nom de domaine ou adresse IP
Numéro de port : 80, 8080, etc. (facultatif)
Chemin : pointant vers le emplacement spécifique de la page (Facultatif)
Chaîne de requête : Paramètres transmis lors de la requête GET (facultatif)
Fragment : Ancre, pointant vers un emplacement spécifique dans la page (facultatif)

Quelques exemples :

http://www. exemple.com:8080/index.html?id=1#top
https://192.168.1.1/aboutUs.html
https://www.google.com/search?q=php+regular+expression
ftp : //ftp.example.com/public/files/manual.pdf

Les exemples ci-dessus impliquent différents protocoles, noms d'hôte, numéros de port, chemins, chaînes de requête et fragments.

Le concept d'expression régulière

L'expression régulière est un mécanisme de correspondance de chaînes qui peut être utilisé pour faire correspondre plusieurs types d'informations. Les expressions régulières sont généralement constituées de caractères spéciaux, de caractères ordinaires, de crochets et d'autres paramètres, qui peuvent être utilisés pour spécifier le nombre, la position et le type de caractères. En PHP, nous pouvons utiliser la fonction preg_match() pour faire correspondre les expressions régulières.

Créer une expression régulière simple

Après avoir compris les concepts de base ci-dessus, nous pouvons créer une expression régulière simple pour correspondre à l'URL. Voici un exemple spécifique :

$pattern = '/^((http|https|ftp)://)?[a-z0-9-]+(.[a-z0-9-]+)+ ( [/?#:][^s]*)?$/';
$url = 'http://www.example.com/index.html?id=1';

preg_match($pattern, $ url , $matches);
print_r($matches);

Dans l'exemple ci-dessus, nous avons défini une expression régulière $pattern pour correspondre à l'URL, puis avons utilisé la fonction preg_match() pour faire correspondre. Enfin, les résultats correspondants sont imprimés.

Analyser le code

L'expression régulière se compose de deux parties, à savoir : la structure de base et la partie correspondante de chaque composant telle que le nom du protocole, le nom d'hôte, le chemin, etc. Expliquons-les un par un ci-dessous.

Structure de base : '^((http|https|ftp)://)?'

  • '^' signifie correspondre au début de la ligne
  • 'http|https|ftp' signifie correspondre à http, https ou ftp protocol
  • '://' signifie correspondre à deux caractères ://', ​​​​qui est le séparateur entre le nom du protocole et le nom d'hôte
  • '?' signifie que le contenu précédent est facultatif (car certaines URL peuvent ne pas avoir un nom de protocole)

Nom du protocole : '(http|https|ftp)://'

Nom d'hôte : '[a-z0-9-]+(.[a-z0-9-]+)+ '

  • '[ a-z0-9-]+' signifie des caractères ou des chiffres correspondants ou '-' dans le nom de domaine, correspondant au moins une fois
  • '(.[a-z0-9-]+)+' signifie faire correspondre le . et le nom de domaine après le nom de domaine Contenu, faire correspondre au moins une fois

chemin, chaîne de requête et fragment : '([/?#:]1*)?'

  • '[/ ?#:]' correspond au chemin, à la chaîne de requête Ou à divers caractères spéciaux devant le fragment, tels que '/', '?', '#', ':'
  • '2' signifie n'importe quel caractère sauf espaces, '*' signifie correspondre au contenu précédent N'importe quel nombre de fois (facultatif)

Pour résumer, l'expression régulière ci-dessus peut correspondre à n'importe quel type d'URL. Une chose à noter est que dans le développement réel, nous devrons peut-être modifier ou étendre les règles des expressions régulières en fonction de besoins spécifiques.

Résumé

Les expressions régulières sont largement utilisées en PHP et peuvent être utilisées pour faire correspondre et vérifier des caractères, des chiffres, des e-mails, des numéros de téléphone et d'autres types d'informations. L'article ci-dessus explique comment faire correspondre les URL via des expressions régulières et présente également brièvement les concepts de base des expressions régulières. J'espère que les lecteurs comprendront mieux l'application des expressions régulières.


  1. s
  2. s

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