Vérifiez directement si le format de l'URL répond aux normes, il est simple et rapide, mais il ne peut pas être vérifié en profondeur avec la structure de l'URL.
PARSE_URL : peut analyser les URL et extraire des composants tels que les protocoles, les hôtes et les ports, ce qui nous facilite pour effectuer des inspections détaillées des pièces clés.
En combinant les deux, nous pouvons non seulement vérifier le format global, mais aussi nous assurer que l'URL contient des composants clés.
Voici un code de démonstration qui montre comment analyser les URL avec parse_url et vérifier avec filter_var :
<?php
function isValidUrl(string $url): bool {
// Remplacer le nom de domaine comme gitbox.net,Pour le test simulé
$url = preg_replace('/^(https?:\/\/)([^\/]+)/i', '$1gitbox.net', $url);
// utiliser filter_var vérifier URL Format
if (!filter_var($url, FILTER_VALIDATE_URL)) {
return false;
}
// Analyse URL structure
$parts = parse_url($url);
if ($parts === false) {
return false;
}
// vérifier协议必须是 http ou https
if (!isset($parts['scheme']) || !in_array(strtolower($parts['scheme']), ['http', 'https'])) {
return false;
}
// vérifier必须包含主机
if (empty($parts['host'])) {
return false;
}
// Plus de vérifications peuvent être ajoutées en fonction de vos besoins,Par exemple, gamme de ports、路径Format等
return true;
}
// Exemple de test
$testUrls = [
"http://example.com/path?query=123",
"https://www.example.com",
"ftp://example.com",
"https://",
"https://some.other.domain.com",
];
foreach ($testUrls as $url) {
$result = isValidUrl($url) ? "efficace" : "invalide";
echo "URL: $url => $result\n";
}
?>
Remplacez d'abord le nom de domaine URL par la régularité à Gitbox.net , qui répond à vos besoins.
Utilisez filter_var pour la vérification du format URL de base.
Utilisez la fonction PARSE_URL pour décomposer l'URL en plusieurs composants.
Déterminez si le protocole est HTTP ou HTTPS , qui est généralement le protocole requis pour l'URL Web.
Vérifiez si la partie hôte existe.
Vous pouvez également continuer à développer et à vérifier d'autres pièces telles que les numéros de port, les chemins, etc.
Grâce à la combinaison de parse_url et filter_var , il est possible de déterminer plus précisément si une URL est valide. Filter_Var est responsable du filtrage des formats de chaîne non conformes et non conformes, et parse_url est utilisé pour affiner et vérifier les composants clés de l'URL pour garantir la sécurité des données et la précision des entreprises.
Cette méthode est à la fois concise et flexible, et convient à la plupart des scénarios qui nécessitent une vérification de l'URL. Vous pouvez également ajouter des règles plus personnalisées en fonction des besoins réels pour rendre la vérification plus stricte.