Maison > développement back-end > tutoriel php > Comment faire correspondre les liens URL à l'aide d'une expression régulière en PHP

Comment faire correspondre les liens URL à l'aide d'une expression régulière en PHP

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

Dans le développement quotidien de PHP, nous devons souvent utiliser des expressions régulières pour faire correspondre et remplacer des chaînes. Parmi eux, la correspondance des liens URL est une exigence très courante. Cet article explique comment utiliser les expressions régulières en PHP pour faire correspondre divers liens URL.

  1. Match les liens URL ordinaires

Les liens URL ordinaires font référence à des liens commençant par http ou https. Nous pouvons utiliser l'expression régulière suivante pour les faire correspondre :

$pattern = "/((http|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?)/i";
Copier après la connexion

où, je veux dire insensible à la casse. Cette expression régulière peut correspondre aux types de liens URL suivants :

http://www.example.com
http://www.example.com/index.php
http://www.example.com/?id=123
https://www.example.com
https://www.example.com/index.php
https://www.example.com/?id=123
Copier après la connexion
Copier après la connexion
  1. Liens d'adresse IP correspondants

En plus des liens URL ordinaires, nous devons parfois également faire correspondre les liens d'adresse IP. Nous pouvons utiliser l'expression régulière suivante pour les faire correspondre :

$pattern = "/((http|https)://)?(d{1,3}.d{1,3}.d{1,3}.d{1,3})(:d{1,5})?([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";
Copier après la connexion

Cette expression régulière peut correspondre aux types de liens URL suivants :

http://192.168.0.1
http://192.168.0.1/index.php
http://192.168.0.1/?id=123
https://192.168.0.1
https://192.168.0.1/index.php
https://192.168.0.1/?id=123
Copier après la connexion
  1. Faire correspondre les liens URL avec www

Dans certains cas, nous devons faire correspondre les URL avec l'URL www lien. Nous pouvons utiliser l'expression régulière suivante pour les faire correspondre :

$pattern = "/((http|https)://)?(www.)?[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";
Copier après la connexion

Cette expression régulière peut correspondre aux types de liens URL suivants :

http://www.example.com
http://www.example.com/index.php
http://www.example.com/?id=123
https://www.example.com
https://www.example.com/index.php
https://www.example.com/?id=123
Copier après la connexion
Copier après la connexion
  1. Match no-protocol links

Dans certains cas, nous devons faire correspondre les liens sans protocole , comme un lien comme //www.example.com. Nous pouvons utiliser l'expression régulière suivante pour les faire correspondre :

$pattern = "/(^|[
 ])([w]+?://[w]+[^ "
    <]*)|(^|[
 ])([w]+?//[w]+[^ "
    <]*)|(^|[
 ])(//[w]+[^ "
    <]*)/i";
Copier après la connexion

Cette expression régulière peut correspondre aux types de liens URL suivants :

//www.example.com
//www.example.com/index.php
//www.example.com/?id=123
Copier après la connexion
  1. Match divers liens mixtes

Dans le développement réel, nous pouvons avoir besoin de faire correspondre divers liens mixtes. , tels que des liens avec des paramètres de requête ou des ancres, ou des liens avec des caractères spéciaux. Nous pouvons utiliser l'expression régulière suivante pour les faire correspondre :

$pattern = "/((http|https)://)?([a-zA-Z0-9-.]+(.[a-zA-Z]{2,3})(:d{1,5})?)([w-.,@?^=%&amp;:/~+#]*[w-@?^=%&amp;/~+#])?/i";
Copier après la connexion

Cette expression régulière peut correspondre aux types de liens URL suivants :

http://www.example.com/index.php?id=123#top
https://www.example.com/home?name=john&age=20
https://www.example.com/1+1=2
Copier après la connexion

Jusqu'à présent, nous avons présenté comment utiliser des expressions régulières pour faire correspondre divers liens URL. Dans le développement réel, nous pouvons choisir des expressions régulières appropriées pour compléter la correspondance selon les besoins. Dans le même temps, il convient de noter que les expressions régulières ont un certain impact sur les performances. Vous devez donc faire attention aux problèmes de performances lors du traitement de grandes quantités de données.

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