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)://)?'
Nom du protocole : '(http|https|ftp)://'
Nom d'hôte : '[a-z0-9-]+(.[a-z0-9-]+)+ '
chemin, chaîne de requête et fragment : '([/?#:]1*)?'
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.
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!