Domanda

Ho uno Zend Framework URI come / regolatore / action / var1 / valore1 / var2 / valore2.

  1. Valore2 ha un carattere di spazio in esso. Come devo codificare in PHP? Quando UrlEncode uso con valore2, questo converte spazio in '+' invece di '% 20f'. Che è ok?

  2. Questa value2 è aggiunto anche in una posizione href da JavaScript sul lato client. Sto usando la funzione di fuga lì, ma quando clicco link che ho né vedere '+' né '% 20f' in Firefox barra degli indirizzi. Anche se quando lo vedo in Firebug scheda 'net', vedo% 20F.

Quali funzioni devo usare in PHP e JavaScript?

È stato utile?

Soluzione

A proposito di tua prima domanda, vale a dire la differenza tra urlencode e rawurlencode :

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

si arriva:

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

Mentre

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

si arriva:

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

Credo che entrambi dovrebbero essere OK; ma sentitevi liberi di fare un tentativo, nel caso; -)


Circa il secondo punto: Firefox cerca di rendere gli URL "più bella", la visualizzazione in modo leggibile, anziché codificato - che è un male per noi sviluppatori, ma piacevole per gli utenti finali

.

Per esempio, se si digita l'URL nella barra degli indirizzi di Firefox:

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

Quando si preme il Invio chiave, è automaticamente tradotto in

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

Se funziona il modo in cui si sta facendo (e, come si sta vedendo un URL codificato con Firebug, probabilmente lavorando) , OK di tutto; -)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top