Domanda

Ho un testo HTML. Avevo codificato in PHP utilizzando la funzione UrlEncode. Voglio decodificare quel testo nel javascript. quando uso la funzione unescape in JavaScript sostituisce tutti i caratteri speciali indietro ma sapce è sostituito da '+'. Come posso fare in modo corretto in modo che lo spazio è sostituito come lo spazio stesso ???

È stato utile?

Soluzione

Provare a utilizzare rawurlencode invece -. Urlencode fa alcune cose in modo diverso, per ragioni "storiche"

http://us.php.net/manual/en/function .urlencode.php per ulteriori informazioni.

Altri suggerimenti

PHP rawurlencode () == JavaScript encodeURIComponent ()

PHP rawUrlDecode () == JavaScript decodeURIComponent ()

Le parentesi sono eccezioni a tutto ciò che viene detto in questo post.

Modalità geek:

false

PHP rawUrlEncode() !== JavaScript encodeURIComponent()

ma vero

PHP rawUrlEncode() == JavaScript encodeURIComponent()

In altre parole, ci sono molti caratteri speciali che non sono trattati come sicuro in rawurlencode quando sono in encodeURIComponent.

Prova questo:

return decodeURIComponent((str + '').replace(/\+/g, '%20'));

Fonte: http://phpjs.org/functions/urldecode:572

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