Maison >développement back-end >tutoriel php >Comment puis-je supprimer les chaînes de requête des URL en PHP pour obtenir des URL propres ?

Comment puis-je supprimer les chaînes de requête des URL en PHP pour obtenir des URL propres ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 20:47:11847parcourir

How Can I Remove Query Strings from URLs in PHP to Get Clean URLs?

Suppression de la chaîne de requête pour les URL propres

En PHP, les URL incluent souvent des chaînes de requête contenant des informations supplémentaires. Cependant, vous devrez parfois récupérer uniquement l'URL propre sans la chaîne de requête.

Implémentation PHP

Pour ce faire, vous pouvez utiliser la fonction strtok() :

$url = strtok($_SERVER["REQUEST_URI"], '?');

strtok() capture efficacement la chaîne avant la première occurrence du ?.

Supplémentaire Techniques

Bien que strtok() soit l'approche recommandée, il existe des techniques alternatives :

  • strstr() : Capture la chaîne avant le ? s'il est utilisé avec true comme deuxième argument. Cependant, c'est moins fiable.
  • explode() : Divise l'URL en un tableau au niveau du ?. Accédez au premier élément de l'URL propre.
  • substr() :Combinée avec strrpos(), cette méthode présente également des problèmes de fiabilité.

Démonstration

Pour illustrer les différentes techniques, considérez ce qui suit URL :

  • www.example.com/myurl.html?unwantedthngs
  • www.example.com/myurl.html

La sortie du différentes méthodes sont les suivantes :

Method Output
strtok() www.example.com/myurl.html
strstr(/true) www.example.com/myurl.html
explode(/2) www.example.com/myurl.html
substr/strrpos() www.example.com/myurl.html

Comme vous pouvez le voir, strtok() fournit systématiquement le résultat correct, alors que les autres techniques peuvent échouer dans certains cas, notamment lorsque la chaîne de requête est manquante.

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!

Déclaration:
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