Maison > développement back-end > tutoriel php > Comment puis-je extraire efficacement un chemin d'URL sans la chaîne de requête en PHP ?

Comment puis-je extraire efficacement un chemin d'URL sans la chaîne de requête en PHP ?

Susan Sarandon
Libérer: 2024-12-01 21:33:10
original
328 Les gens l'ont consulté

How Can I Efficiently Extract a URL Path Without the Query String in PHP?

Extraire des chemins d'URL sans chaînes de requête

Dans le développement Web, il est souvent nécessaire de travailler avec des URL et de manipuler leurs composants. Un scénario courant est la nécessité de récupérer le chemin de l'URL sans la chaîne de requête, également connue sous le nom de liste de paramètres d'URL.

Problème :

Lors du traitement des URL sous la forme de "www.example.com/myurl.html?unwantedthngs", vous souhaiterez peut-être supprimer le point d'interrogation (?) et tout ce qui le suit pour obtenir un chemin d'URL propre, tel que "www.example.com/myurl.html."

Solution :

Pour accomplir cette tâche, vous pouvez utiliser diverses techniques, telles que l'utilisation de strtok() de PHP. fonction. strtok() est une fonction puissante qui vous permet de tokeniser une chaîne en fonction d'un délimiteur spécifié.

Exemple :

$url = strtok($_SERVER["REQUEST_URI"], '?');
Copier après la connexion

Dans cet exemple, nous utilisons strtok () pour diviser $_SERVER["REQUEST_URI"] en deux sous-chaînes : la première sous-chaîne contient le chemin de l'URL jusqu'à la première occurrence du point d'interrogation, et la deuxième sous-chaîne (que nous supprimons) contient la chaîne de requête.

Techniques alternatives :

Bien que strtok() soit une méthode concise et efficace pour extraire le chemin de l'URL, il existe d'autres techniques que vous pouvez également explorer :

  • explode() : Vous pouvez utiliser éclater() pour diviser l'URL en un tableau basé sur le délimiteur de point d'interrogation. Cependant, il n'est pas toujours nécessaire d'exploser l'intégralité de l'URL, surtout si vous n'avez besoin que du chemin de l'URL.
  • strstr() avec true : En définissant le troisième paramètre de strstr() sur true , vous pouvez obtenir le chemin de l'URL jusqu'à la première occurrence du point d'interrogation. Cependant, cette méthode n'est pas aussi fiable que strtok() ou explosive().
  • substr() et strrpos() : Vous pouvez utiliser substr() pour extraire la sous-chaîne depuis le début de l'URL jusqu'à la dernière position du point d'interrogation, déterminée à l'aide de strrpos(). Cependant, cette méthode n'est pas entièrement fiable, notamment lors de la gestion d'URL sans chaîne de requête.

Conclusion :

strtok() est une technique robuste et fiable pour extraire le chemin de l'URL sans la chaîne de requête. Il offre un moyen concis et efficace d'accomplir cette tâche dans votre code PHP.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal