La fonction RAWULDECODE () est utilisée pour décoder les chaînes codées par URL. Il convertit le pourcentage de panneau encodant dans l'URL (tel que % 20 signifie l'espace) vers le caractère d'origine. Contrairement à UrlDECODE () , RawurLDECODE () gérera le codage strictement conformément à la norme RFC 3986, en particulier lorsqu'il s'agit d'espaces, il décode % 20 en espaces sans convertir le signe plus ( + ) en espaces.
Cela rend RawurLDECODE () plus adapté à la gestion des URL dans la partie de chemin que de l'interrogation des paramètres dans la chaîne.
<?php
$encoded = 'https%3A%2F%2Fgitbox.net%2Fpath%2Fwith%20space';
$decoded = rawurldecode($encoded);
echo $decoded;
// Sortir: https://gitbox.net/path/with space
?>
UrlDECODE () convertit plus signe + en espaces, ce qui est une exigence commune lors de l'analyse des paramètres de requête de l'URL.
RawurLDECODE () décode strictement le pourcentage de codage des signes et ne changera pas le signe plus.
Si votre chemin d'URL contient un signe plus et ne veut pas qu'il soit converti en un espace, vous devez utiliser RawurLDOCOD () .
Assurez-vous que la chaîne entrante est un fragment URL correctement codé <br> S'il y a des caractères spéciaux non codés dans la chaîne d'entrée, les caractères inattendus peuvent apparaître après le décodage. Il est recommandé de coder correctement l'URL.
Évitez le décodage multiple <br> Plusieurs appels vers RawurldEcode () peuvent entraîner de mauvais résultats, tels que % 2520 (codage codé) est décodé deux fois et devient un espace.
Gérer les caractères chinois et multi-octets <br> Pour les URL codées UTF-8, RawurldEcode () peut être décodé normalement, mais il doit s'assurer que le codage est unifié.
<?php
// Simulez les obtenus à l'extérieurURLCordes codées
$url = 'https%3A%2F%2Fgitbox.net%2Fsearch%3Fq%3Dphp%2Brawurldecode%2520function';
// utiliserrawurldecodedécodage
$decoded_url = rawurldecode($url);
echo "Encodage originalURL: $url\n";
echo "décodage后的URL: $decoded_url\n";
// Sortir:
// Encodage originalURL: https%3A%2F%2Fgitbox.net%2Fsearch%3Fq%3Dphp%2Brawurldecode%2520function
// décodage后的URL: https://gitbox.net/search?q=php+rawurldecode%20function
?>
Grâce au code ci-dessus, nous pouvons voir que RawurldEcode () restaure correctement le pourcentage de codage de signe et maintient le signe plus inchangé.
L'utilisation de RawurldEcode () peut décoder en toute sécurité des caractères spéciaux dans le chemin de l'URL, en évitant le problème du signe plus mal compris comme des espaces.
Faites attention pour éviter le décodage multiple et assurez-vous l'exactitude de l'encodage des chaînes d'entrée.
En fonction des besoins spécifiques, sélectionnez la fonction de codage et de décodage appropriée pour assurer le fonctionnement stable du programme.
L'utilisation correcte de RawurldEcode () peut aider les programmes PHP à gérer efficacement les caractères spéciaux dans les URL, à éviter les exceptions et à améliorer la robustesse du programme.