Nous disposons de la fonction urlencode, mais pas de la fonction inverse urldecode qui réécrit une chaine de caractère selon décodage des caractères compatibles URL.
Voir le lien pour le détail de la fonction en PHP: urldecode
- Code : Tout sélectionner
// Fonction de remplacement de urldecode en PHP
function sdk_urldecode($string) {
// Liste des caractères spéciaux encodés en URL
$encoded_chars = array('%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D', '%7B', '%7D', '%22', '%3C', '%3E', '%20');
// Liste des caractères spéciaux correspondants
$decoded_chars = array('!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]", "{", "}", '"', "<", ">", " ");
// Remplacement des caractères spéciaux encodés en URL par leurs caractères correspondants
$decoded_string = str_replace($encoded_chars, $decoded_chars, $string);
return $decoded_string;
}
J'ai sollicité la teams pour inclure cette fonction dans la box. Malheureusement, pour des raisons de rétrocompatibilité avec la box eedomus (vs eedomus+) il n'est pas possible de mettre cela en fonction globale dans pour la box.
Il faut déclarer une fonction dans vos scripts pour avoir ce résultat, je vous propose cette fonction sous le nom de sdk_urldecode() (le jour où la team la passera en global, alors il n'y aura qu'à supprimer la déclaration de votre fonction dans vos scripts ).