Maison  >  Article  >  développement back-end  >  Comment faire correspondre les adresses URL en PHP à l'aide d'expressions régulières

Comment faire correspondre les adresses URL en PHP à l'aide d'expressions régulières

WBOY
WBOYoriginal
2023-06-22 21:42:082500parcourir

En PHP, les expressions régulières sont un outil puissant qui peut être utilisé pour faire correspondre et traiter diverses chaînes. Lors du traitement des adresses URL, les expressions régulières peuvent également nous aider à faire correspondre rapidement et efficacement les informations dont nous avons besoin. Ensuite, nous présenterons comment utiliser des expressions régulières pour faire correspondre les adresses URL.

  1. Déterminez le format d'adresse URL qui doit correspondre

Avant d'utiliser des expressions régulières pour faire correspondre les adresses URL, vous devez d'abord clarifier l'adresse URL format qui doit correspondre. De manière générale, une adresse URL peut être divisée en deux parties : la partie protocole et la partie chemin. La partie protocole comprend http, https, ftp et d'autres protocoles, et la partie chemin comprend le nom de domaine, le nom de sous-domaine, le répertoire, le nom de fichier, etc. Selon différents besoins, nous pouvons déterminer le format d'adresse URL qui doit correspondre afin de mieux écrire des expressions régulières.

  1. Écriture d'expressions régulières

Après avoir déterminé le format d'adresse URL qui doit correspondre, nous pouvons écrire des expressions régulières selon les règles correspondantes. Voici quelques expressions régulières couramment utilisées :

(1) Correspond aux protocoles http et https : /^https?:///

(2) Correspond à l'adresse URL complète :/^((https?|ftp)://)?([da-z.-]+).([a-z.]{2,6})([/w .-])# 🎜🎜#/?$/

(3) Adresse IP correspondante : /d{1,3}.d{1,3}.d{1,3}.d{1,3 } /

(4) Nom de domaine correspondant : /([a-z0-9.-]+.[a-z]{2,6})/

(5 ) Nom du fichier de correspondance : //([a-z0-9.-]+.[a-z]{2,6})$/i

    Utilisation d'expressions régulières dans PHP Matching#🎜 🎜#
  1. En PHP, nous pouvons utiliser la fonction preg_match() pour effectuer une correspondance d'expressions régulières. L'utilisation spécifique est la suivante :

(1) Faire correspondre les protocoles http et https :

$url = 'https://www.example.com';#🎜🎜 #if (preg_match('/^https?:///', $url)) {

// 匹配成功

} else {

// 匹配失败

}

#🎜🎜 #( 2) Faites correspondre l'adresse URL complète :

$url = 'https://www.example.com/path/to/file.html';

if(preg_match(' /^ ((https?|ftp)://)?([da-z.-]+).([a-z.]{2,6})([/w .-]

)#🎜 🎜# /?$/', $url)) {

// 匹配成功

} else {

// 匹配失败
}

(3) Adresse IP correspondante : #🎜 🎜#

$ip = '192.168.1.1';

if(preg_match('/ d{1,3}.d{1,3}.d{1,3}.d{ 1 ,3} /', $ip)) {

// 匹配成功

} else {

// 匹配失败

}


(4) Nom de domaine correspondant : # 🎜 🎜#

$url = 'https://www.example.com/path/to/file.html';

if(preg_match('/([a-z0-9.-] + .[a-z]{2,6})/', $url, $matches)) {

// 匹配成功,$matches[0] 为域名

} else {

// 匹配失败

}

#🎜 🎜 #(5) Nom du fichier de correspondance :


$url = 'https://www.example.com/path/to/file.html';

if(preg_match('/ / ([a-z0-9.-]+.[a-z]{2,6})$/i', $url, $matches)) {

// 匹配成功,$matches[1] 为文件名

} else {#🎜🎜 #
// 匹配失败

}

Grâce à l'utilisation des expressions régulières ci-dessus et des codes correspondants, nous pouvons faire correspondre rapidement et précisément les informations d'adresse URL dont nous avons besoin. Bien entendu, il existe certaines précautions lors de l'utilisation d'expressions régulières pour faire correspondre les adresses URL, telles que l'échappement des caractères spéciaux et l'évitement des correspondances gourmandes. Dans la pratique, des ajustements flexibles doivent être effectués en fonction des circonstances 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