Question

J'ai un URI Zend Framework comme / contrôleur / action / var1 / valeur1 / var2 / valeur2.

  1. Valeur2 a un espace en elle. Comment puis-je coder en PHP? Lorsque j'utilise urlencode avec valeur2, ce convertit l'espace en « + » au lieu de '% 20f. Est-ce ok?

  2. valeur2 est également ajouté à un emplacement href par javascript côté client. J'utilise la fonction d'échappement là, mais quand je clique sur le lien, je ne voir « + » ni « % 20f » dans la barre d'adresse de Firefox. Bien que quand je le vois dans Firebug onglet 'net', je vois% 20f.

Quelles fonctions dois-je utiliser en PHP et javascript?

Était-ce utile?

La solution

À propos de votre première question, qui est la différence entre urlencode et rawurlencode :

var_dump(urlencode("hello, world"));

Est-ce que vous obtenez:

string 'hello%2C+world' (length=14)

Alors que

var_dump(rawurlencode("hello, world"));

vous obtiendrez:

string 'hello%2C%20world' (length=16)

Je suppose que les deux devraient être OK; mais ne hésitez pas à essayer, juste au cas où; -)


A propos du second point: Firefox tente de faire des URL « plus joli », les afficher d'une manière lisible par l'homme, au lieu de encodée - ce qui est mauvais pour nous developpeurs, mais agréable à l'utilisateur final

.

Par exemple, si je saisis cette URL dans la barre d'adresse de Firefox:

http://tests/temp/temp.php?a=hello%2C%20world

Lorsque j'appuie sur la touche Entrée touche, il est traduit automatiquement

http://tests/temp/temp.php?a=hello%2C%20world

Si cela fonctionne comme vous le faites (et, comme vous voyez une URL encodée avec Firebug, il travaille probablement) , le OK de tout; -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top