Maison >développement back-end >tutoriel php >Comment puis-je ajouter des préfixes \'http://\' aux URL de manière sûre et fiable ?
Préfixe de protocole pour les URL
Lors du traitement des URL, il est souvent nécessaire de s'assurer qu'un préfixe de protocole valide existe. Ceci est crucial pour garantir que l’URL peut être correctement résolue et accessible par les navigateurs ou d’autres services réseau. Dans les cas où un préfixe de protocole est absent, il peut être ajouté pour améliorer la fonctionnalité de l'URL.
Ajout de « http:// » en toute sécurité et de manière flexible
Pour ajouter dynamiquement « http:// » aux URL dépourvues de préfixe de protocole, une approche robuste est essentielle. Une de ces approches utilise une version modifiée d'un exemple de code fourni par @nickf :
function addhttp($url) { if (!preg_match("~^(?:f|ht)tps?://~i", $url)) { $url = "http://" . $url; } return $url; }
Cette fonction utilise une expression régulière pour vérifier si l'URL contient déjà un préfixe de protocole valide (soit ftp://, ftps ://, http:// ou https://). Sinon, il ajoute de manière transparente « http:// » à l'URL. La correspondance insensible à la casse garantit la compatibilité avec les URL de différents formats de casse.
Application pratique
L'application de cette fonction à divers exemples d'URL donne les résultats suivants :
addhttp("google.com"); // http://google.com addhttp("www.google.com"); // http://www.google.com addhttp("google.com"); // http://google.com addhttp("ftp://google.com"); // ftp://google.com addhttp("https://google.com"); // https://google.com addhttp("http://google.com"); // http://google.com addhttp("rubbish"); // http://rubbish
Cette approche sur mesure garantit que les URL sans préfixes de protocole sont effectivement préfixées par « http:// », tandis que les URL avec des préfixes valides existants sont laissés intacts. Cela permet une gestion cohérente et efficace des URL dans divers scénarios.
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!