Maison  >  Article  >  développement back-end  >  Expression régulière universelle pour la correspondance d'URL avec ou sans protocoles

Expression régulière universelle pour la correspondance d'URL avec ou sans protocoles

DDD
DDDoriginal
2024-10-22 08:47:30858parcourir

Universal Regular Expression for URL Matching with or without Protocols

Expression régulière pour faire correspondre les URL avec ou sans protocoles

Pour les URL pouvant inclure ou non le préfixe "http://www" , une expression régulière peut être utilisée pour effectuer l'opération de correspondance. Un modèle RegEx détaillé est fourni ci-dessous :

((https?|ftp)://)?([a-z0-9+!*(),;?&amp=$_.-]+(:[a-z0-9+!*(),;?&amp=$_.-]+)?@)?([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))(:[0-9]{2,5})?(/([a-z0-9+$_%-]\.?)+)*/?(\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)?(\#[a-z_.-][a-z0-9+$%_.-]*)?

Pour utiliser ce modèle pour la validation d'URL, il peut être appliqué de la manière suivante :

<code class="php">if (preg_match("~^$regex$~i", 'www.example.com/etcetc', $m))
    var_dump($m);

if (preg_match("~^$regex$~i", 'http://www.example.com/etcetc', $m))
    var_dump($m);</code>

Cette solution RegEx offre une méthode complète pour faire correspondre les URL, qu'elles contiennent ou non le préfixe "http://".

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