2011-01-23 2 views
1

Comment passer le symbole de plus + comme c'est quand vous voulez le passer dans $ _REQUEST?

Par exemple, je veux passer ce,

xxx.php?key=xPo8lUEXpqg8bKL+32o6yIOK 

et je veux xPo8lUEXpqg8bKL+32o6yIOK en écho $ _REQUEST [ 'key']; mais je vais obtenir ce ci-dessous à la place -

xPo8lUEXpqg8bKL 32o6yIOK 

Que dois-je faire pour résoudre ce problème? Expressions régulières à nouveau?

Merci.

Répondre

5

Vous devez utiliser %2B au lieu de +, car + est le symbole URL codé pour un espace. En général, vous devez utiliser urlencode() pour vous échapper correctement:

$url = "xxx.php?key=" . urlencode('xPo8lUEXpqg8bKL+32o6yIOK'); 
1

+ est un caractère réservé dans une URL et décode en un espace.

Effectuez un urlencode() sur la chaîne avant de l'attacher à l'URL.