Position actuelle: Accueil> Derniers articles> Comment gérer les URL avec des ancres (fragment)?

Comment gérer les URL avec des ancres (fragment)?

gitbox 2025-05-28

Lorsque vous effectuez un développement Web, nous devons souvent extraire des informations utiles des URL, telles que les protocoles, les hôtes, les chemins, les paramètres de requête, etc. La fonction PARSE_URL intégrée de PHP fournit un moyen pratique de analyser ces parties d'une URL. Cet article se concentrera spécifiquement sur le comportement de cette fonction lors du traitement des URL avec des fragments.

1. Qu'est-ce qu'un point d'ancrage (fragment)?

Un point d'ancrage dans une URL (également appelé "Fragment Identifier") fait partie qui commence par # et est utilisé pour pointer un emplacement dans un document HTML. Par exemple:

 https://gitbox.net/articles/php?query=test#section2

# Section2 Voici le point d'ancrage de l'URL, qui ne sera pas envoyé au serveur, mais sera utilisé par le navigateur pour localiser l'emplacement spécifique dans le document.

2. Introduction à la fonction parse_url

L'utilisation de base de la fonction PARSE_URL de PHP est la suivante:

 parse_url(string $url, int $component = -1): mixed
  • $ URL : La chaîne d'URL à analyser;

  • $ Composant : Paramètre facultatif, s'il est fourni, la pièce spécifiée sera renvoyée (telle que php_url_host , php_url_path , etc.);

  • La valeur de retour est un tableau associatif contenant différentes parties de l'URL.

3. Exemple d'analyse de l'URL avec point d'ancrage

Nous le testons en fait avec une URL contenant des ancres:

 $url = "https://gitbox.net/path/page.php?foo=bar#top";
$parsed = parse_url($url);
print_r($parsed);

Les résultats de l'opération sont les suivants:

 Array
(
    [scheme] => https
    [host] => gitbox.net
    [path] => /path/page.php
    [query] => foo=bar
    [fragment] => top
)

Comme on peut le voir dans le résultat, parse_url reconnaît avec succès la partie de fragment et renvoie son dessus de valeur avec la clé de fragment .

4. Extraire uniquement la partie du point d'ancrage

Si vous ne vous souciez que de la pièce d'ancrage, vous pouvez utiliser la constante PHP_URL_FRAGment :

 $fragment = parse_url($url, PHP_URL_FRAGMENT);
echo $fragment; // Sortir:top

C'est idéal pour localiser rapidement les informations d'ancrage dans les URL sans analyser manuellement les cordes.

V. Autres précautions

  1. Les points d'ancrage n'affecteront pas les chemins ni la résolution de requête <br> La pièce d'ancrage apparaît après les paramètres de chemin et de requête, et il ne provoque aucune interférence aux résultats d'analyse du chemin ou de la requête .

  2. Le fragment n'apparaîtra pas dans le tableau sans points d'ancrage <br> S'il n'y a pas d'ancre dans l'URL, le tableau retourné ne contiendra pas la clé de fragment .

  3. Aucun décodage d'URL n'est effectué
    PARSE_URL effectue uniquement l'analyse des chaînes et n'effectue pas de décodage d'URL pour chaque partie. Si vous avez besoin de lire des caractères chinois ou codés, vous devez utiliser UrlDecode () pour le traiter davantage.

6. Résumé

PARSE_URL est un outil puissant pour gérer les URL dans PHP, qui reconnaît et extrait avec précision la pièce du point d'ancrage (fragment). Grâce à cette fonction, les développeurs peuvent facilement démonter les URL et obtenir des informations utiles, améliorant la lisibilité et la maintenabilité de leur code. Surtout lorsque vous traitez des URL avec des informations de positionnement ou une navigation frontale, l'analyse correcte des points d'ancrage peut nous aider à contrôler plus précisément le comportement de la page ou la logique de saut.