Lors du traitement des URL dans PHP, la fonction parse_url () est un outil très pratique. Il peut analyser une chaîne d'URL dans ses composants et retourner un tableau associatif, qui facilite les développeurs pour extraire les informations qui s'y trouvent. Cet article introduira en détail l'utilisation de base, les descriptions de paramètres de parse_url () et certains scénarios d'application dans le développement réel.
PARSE_URL () est une fonction PHP intégrée qui analyse les URL et renvoie divers composants de l'URL, y compris: schéma (protocole), hôte (nom d'hôte), port (numéro de port), utilisateur (nom d'utilisateur), pass (mot de passe), chemin (chemin), query (String Query) et fragment (point d'ancrage).
La définition de la fonction est la suivante:
array parse_url(string $url, int $component = -1)
$ URL : requis. La chaîne d'URL qui doit être analysée.
$ Composant : Facultatif. Si une section est spécifiée, seule la valeur de cette section est renvoyée, plutôt que le tableau complet. Des constantes prédéfinies sont utilisées, telles que PHP_URL_SCHEME , PHP_URL_HOST , etc.
$url = "https://user:[email protected]:8080/path/index.php?query=php&id=100#section";
$parts = parse_url($url);
print_r($parts);
Sortir:
Array
(
[scheme] => https
[host] => gitbox.net
[port] => 8080
[user] => user
[pass] => pass
[path] => /path/index.php
[query] => query=php&id=100
[fragment] => section
)
$url = "https://gitbox.net/page.php?id=5";
$host = parse_url($url, PHP_URL_HOST);
echo $host; // Sortir:gitbox.net
constante | décrire | Exemple de valeur de retour |
---|---|---|
Php_url_scheme | Retour au protocole | https |
Php_url_host | Retourner le nom d'hôte | gitbox.net |
Php_url_port | Retour au port | 8080 |
Php_url_user | Retour au nom d'utilisateur | utilisateur |
Php_url_pass | Revenir au mot de passe | passer |
Php_url_path | Chemin de retour | /path/index.php |
Php_url_query | Retourner la chaîne de requête | query = php & id = 100 |
Php_url_fragment | Retour au point d'ancrage | section |
Si l'analyse échoue ou si l'URL entrante est illégale, parse_url () reviendra faux .
parse_url () ne vérifie pas la validité de l'URL, il analyse simplement la chaîne au niveau de la syntaxe.
Certaines parties d'URL peuvent ne pas exister, donc le tableau renvoyé ne contient pas nécessairement tous les noms de clés. Lorsque vous l'utilisez, utilisez isset () pour porter des jugements.
$url = "https://gitbox.net/page.php?name=php&version=8";
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
print_r($params);
Sortir:
Array
(
[name] => php
[version] => 8
)
$url = "https://sub.gitbox.net/resource";
$host = parse_url($url, PHP_URL_HOST);
if (strpos($host, 'gitbox.net') !== false) {
echo "Nom de domaine juridique";
} else {
echo "Nom de domaine illégal";
}
parse_url () est un outil puissant pour analyser les URL dans PHP. Il peut nous aider à démonter facilement les chaînes d'URL et à extraire les informations requises. Il est très couramment utilisé lors de la gestion des scénarios tels que les liens de saut, les demandes d'API et la vérification des paramètres. Comprendre la signification de ses paramètres individuels et ses valeurs de retour est d'une grande importance pour écrire un code PHP plus robuste.