Maison >développement back-end >tutoriel php >Comment puis-je ajouter des préfixes \'http://\' aux URL de manière sûre et fiable ?

Comment puis-je ajouter des préfixes \'http://\' aux URL de manière sûre et fiable ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-01 12:05:161054parcourir

How Can I Safely and Reliably Add

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!

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