2009-07-09 10 views
24

Tengo un texto html. Lo había codificado en php usando la función urlencode. Quiero decodificar ese texto en el javascript. cuando uso la función unescape en javascript reemplaza todos los caracteres especiales, pero sapce se reemplaza por '+'. ¿Cómo puedo hacerlo correctamente para que el espacio sea reemplazado como el espacio mismo?php javascript url encoding

Respuesta

48

PHP rawurlencode() == JavaScript encodeURIComponent()

PHP rawurldecode() == JavaScript decodeURIComponent()

+1

sé que php urlencode no es compatible con javascript, por lo que deberías usar rawUrlEncode en su lugar –

+0

¡No funciona para el carácter '+'! – coderunner

+0

Trabajando para mí (((PHP))) $ msg = array(); $ msg ['adds'] = rawUrlEncode ($ complexAddsWithHTMLMarkup); echo json_encode ($ msg); ...... (((jQuery ajax dataType json))) decodeURIComponent (msg.adds); – Coisox

3

Paréntesis son excepciones a todo lo que se dice en esta publicación. Modo

friki en:

falsa

PHP rawUrlEncode() !== JavaScript encodeURIComponent() 

pero cierto

PHP rawUrlEncode() == JavaScript encodeURIComponent() 

En otras palabras, hay muchos caracteres especiales que no son tratadas como seguro en rawurlencode cuando están en encodeURIComponent.