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+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)?([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!