Maison > Article > développement back-end > Fonction urldecode() de PHP : comment décoder une chaîne codée en URL en une chaîne brute et gérer les erreurs de décodage
La fonction urldecode() de PHP a été créée en PHP4 et est une méthode courante de décodage d'URL. Le codage d'URL est une méthode de conversion des caractères non anglais d'une URL en caractères spéciaux afin de transmettre l'URL au serveur ou de traiter l'URL d'une autre manière. La fonction urldecode() restaure ces caractères spéciaux dans la chaîne d'origine.
La syntaxe de cette fonction est :
string urldecode ( string $str )
Le paramètre str représente la chaîne qui doit être décodée, et la fonction renverra la chaîne d'origine décodée.
Cependant, lors de l'utilisation de la fonction urldecode(), il est facile d'avoir des erreurs de décodage et les caractères spéciaux ne sont pas restaurés correctement. En PHP, il est recommandé d'utiliser la fonction rawurldecode() au lieu de la fonction urldecode() pour obtenir un effet de décodage plus fiable.
Ensuite, nous donnerons des exemples de code spécifiques montrant comment utiliser la fonction rawurldecode() de PHP pour décoder une chaîne codée en URL en une chaîne brute et gérer les erreurs de décodage.
<?php // 示例1:使用urldecode()函数进行URL解码 $string = "Hello%20World!"; echo urldecode($string); // 输出:Hello World! // 示例2:使用rawurldecode()函数进行URL解码 $string = "你好%20世界!"; echo rawurldecode($string); // 输出:你好 世界! // 示例3:解决解码错误 $string = "Portland%3ESeattle"; $decoded = rawurldecode($string); if($decoded == $string) { // 没有任何字符被解码,需要手动解码 $decoded = str_replace("%3E", ">", $string); } echo $decoded; // 输出:Portland>Seattle ?>
Dans les exemples ci-dessus, l'exemple 1 et l'exemple 2 montrent l'utilisation de base du décodage d'URL en utilisant respectivement les fonctions urldecode() et rawurldecode().
Et l'exemple 3 montre comment gérer les erreurs de décodage. Dans cet exemple, la chaîne d'origine est « Portland>Seattle », mais le symbole « > » est codé dans l'URL sous la forme « %3E ». Si vous utilisez directement la fonction rawurldecode() pour décoder, le symbole ">" ne sera pas décodé correctement et le résultat du décodage sera "Portland%3ESattle". Par conséquent, nous devons décoder manuellement, c'est-à-dire utiliser la fonction str_replace() pour remplacer "%3E" par ">".
En bref, la fonction urldecode() est une méthode de décodage d'URL courante en PHP. Cependant, en raison du risque plus élevé d'erreurs de décodage, il est recommandé d'utiliser la fonction rawurldecode() pour obtenir des résultats de décodage plus fiables.
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!