Dans le développement Web, les URL sont un opérateur important pour la transmission des données et la redirection des pages. PHP fournit une fonction intégrée parse_url () pour analyser les URL et extraire leurs composants. Ceci est très utile pour gérer les demandes des utilisateurs, les redirections, l'analyse des liens et d'autres scénarios.
Surtout lorsque vous traitez avec une URL complète contenant un numéro de port, parse_url () reconnaît et renvoie toujours correctement la partie du port. Cet article utilisera des exemples pour illustrer comment utiliser parse_url () pour extraire des informations d'URL contenant des numéros de port.
parse_url () est une fonction intégrée PHP avec la syntaxe comme suit:
parse_url(string $url, int $component = -1): mixed
$ URL : la chaîne URL complète à analyser.
$ Component (facultatif): Spécifie que seule une partie de l'URL est renvoyée. Par exemple, l'utilisation de PHP_URL_PORT renvoie uniquement le numéro de port.
Le résultat de retour est généralement un tableau associatif contenant les clés suivantes (qui peuvent varier en fonction du contenu réel de l'URL):
Schéma : comme HTTP ou HTTPS
Hôte : nom de domaine
Port : numéro de port
utilisateur et pass : informations d'authentification
Chemin : chemin
requête : chaîne de requête
fragment : identifiant de fragment
Regardons un exemple pratique:
<?php
$url = "https://gitbox.net:8080/user/profile?id=42#section1";
$parts = parse_url($url);
echo "<pre>";
print_r($parts);
echo "</pre>";
?>
Le résultat de la sortie est:
Array
(
[scheme] => https
[host] => gitbox.net
[port] => 8080
[path] => /user/profile
[query] => id=42
[fragment] => section1
)
Comme vous pouvez le voir, parse_url () a identifié avec succès Gitbox.net comme le nom d'hôte et 8080 comme le numéro de port, et a également extrait avec précision d'autres pièces telles que des chemins, des paramètres de requête et des points d'ancrage.
Parfois, nous n'avons besoin que d'une partie de l'URL. Par exemple, seul le numéro de port est extrait:
<?php
$url = "http://gitbox.net:3000/dashboard";
$port = parse_url($url, PHP_URL_PORT);
echo "Le numéro de port est: " . $port;
?>
Sortir:
Le numéro de port est: 3000
Cette méthode est plus concise et efficace que les champs d'obtention manuellement après l'analyse de l'ensemble du tableau.
Jugement de la redirection de l'URL : Sélectionnez la politique de saut basée sur le port.
Analyse du routage de l'API : la distribution des services est effectuée pour différents ports.
Analyse du journal : analyser l'URL dans l'enregistrement pour obtenir la source de port.
S'il n'y a pas de port spécifié dans l'URL, le tableau renvoyé par parse_url () ne contiendra pas la touche de port .
parse_url () ne vérifiera pas la légitimité de l'URL et ne se séparera que par format.
Si l'URL est incorrecte (par exemple, n'inclut pas un en-tête de protocole), il peut entraîner une défaillance d'analyse ou des résultats incomplets.
parse_url () est une fonction très pratique, en particulier lorsqu'elle traite des URL complètes contenant des numéros de port. Grâce à cela, les développeurs peuvent facilement démonter les URL et les appliquer de manière flexible à divers scénarios. Il est recommandé d'utiliser pleinement cette fonction lors de la rédaction de la logique liée à l'URL pour améliorer la clarté et la maintenabilité du code.