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.
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.
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(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 {
// 匹配失败
$ip = '192.168.1.1';
if(preg_match('/ d{1,3}.d{1,3}.d{1,3}.d{ 1 ,3} /', $ip)) {// 匹配成功
// 匹配失败
(4) Nom de domaine correspondant : # 🎜 🎜#
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';
// 匹配成功,$matches[1] 为文件名
// 匹配失败
}
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!