[PHP] Paramètre contenant caractère spécial

Rem's Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   -  
 Rem's -
Bonjour,

J'essaye de faire passer par l'intermédiaire d'un lien des variables à un autre script et le problème est que sur certains liens le caractère '&' est présent. Ce qui a pour incidence de me rajouter un variable (qui n'existe pas) dans mes paramètres.
En modifiant par le code html le prob est le même puisque le code contient aussi le caractère &. Donc, une solution de contournement que j'ai trouvé est de par exemple remplacer dans mon lien le & par #xy# par exemple ou tout autre chaine pas courante, puis de refaire l'inverse dans le script qui récupère les variables mais c'est pas très propre.

Existerait-il une autre solution?

Merci.
A voir également:

2 réponses

jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Salut,
quel langage utilises-tu?
Sous PHP, tu peux utiliser
rawurlencode et rawurldecode
http://php.belnet.be/manual/en/function.rawurlencode.php
exemple:
johand@horus:~/tmp$ cat test.php
<?php
$url1="http://monsite/moncgi?myvar=";
$url2="descaractèresnonalphanumériques:?&";
print("$url2\n");
$res= rawurlencode($url2);
printf("%s%s\n", $url1, $res);
?>
johand@horus:~/tmp$ php test.php
descaractèresnonalphanumériques:?&
http://monsite/moncgi?myvar=descaract%E8resnonalphanum%E9riques%3A%3F%26
johand@horus:~/tmp$


Johan
0
Rem's
 
Merci pour ta réponse, c'est exactement ce qu'il me fallait. En attendant, je m'etais fait un script avec un ereg replace qui permettait de faire la même chose mais en plus compliqé à gérer.
0