Estoy codificando una cadena que se pasará en una URL (a través de GET). Pero si uso escape
, encodeURI
o encodeURIComponent
, &
se reemplazará con %26amp%3B
, pero quiero que se reemplace por %26
. ¿Qué estoy haciendo mal?La codificación URL ve "&" (ampersand) como "&" entidad HTML
Respuesta
Sin ver su código, es difícil responder, salvo una puñalada en la oscuridad. Supongo que la cadena que está pasando a encodeURIComponent(), que es el método correcto de usar, proviene del resultado de acceder a la propiedad innerHTML. La solución es conseguir que el/textContent valor de la propiedad innerText lugar:
var str,
el = document.getElementById("myUrl");
if ("textContent" in el)
str = encodeURIComponent(el.textContent);
else
str = encodeURIComponent(el.innerText);
Si ese no es el caso, se puede utilizar el replace() método para reemplazar la entidad HTML:
encodeURIComponent(str.replace(/&/g, "&"));
Si lo hizo, literalmente esto:
encodeURIComponent('&')
entonces el resultado es %26
, you can test it here. Asegúrese de que la cadena que está codificando es solo&
y no &
para empezar ... de lo contrario, está codificando correctamente, que es lo que ocurre. Si necesita un resultado diferente por alguna razón, puede hacer un .replace(/&/g,'&')
antes de la codificación.
... ese es probablemente su problema. –
Hay codificaciones HTML y URI. &
es &
encoded in HTML mientras que %26
es &
en URI encoding.
Así que antes de codificar la cadena de URI es posible que desee a HTML decodificación y luego URI codificarlo :)
var div = document.createElement('div');
div.innerHTML = '&AndOtherHTMLEncodedStuff';
var htmlDecoded = div.firstChild.nodeValue;
var urlEncoded = encodeURIComponent(htmlDecoded);
resultado %26AndOtherHTMLEncodedStuff
Hope esto le ahorra un tiempo
- 1. XHTML y Y (Ampersand) codificación
- 2. tema de codificación, coverting & a & para HTML usando PHP
- 3. Codificación URL y codificación HTML NSStrings
- 4. Diferencia entre codificación Url y codificación HTML
- 5. Cómo deshabilitar la codificación HTML al usar Contexto en django
- 6. prácticas en el manejo de solicitudes de robots malos url's que contienen ampersand como "&" en lugar de "&"
- 7. Deshabilitar la codificación de entidad html en PHP DOMDocument
- 8. w3c markup validator ampersand (&) error
- 9. Cómo escapar del carácter & amp; ampersand en la entrada del formulario usando jQuery
- 10. códigos HTML Entidad a texto
- 11. URL Codificación-Símbolo y Problema
- 12. Sublime Text 2: Autocompletando caracteres html escapados (comenzando con ampersand)?
- 13. PHP: HTML Codificación de atributo/JavaScript Decodificación
- 14. Iphone SDk: Emita con ampersand en la cadena de URL
- 15. HTML-Entidad de escape para evitar XSS
- 16. ¿Cómo puedo escapar los símbolos en XML para que se muestren como entidades en HTML?
- 17. php file_get_contents y &
- 18. Entidad HTML para DASH
- 19. Método C# para hacer la codificación URL?
- 20. Codificación URL en Android
- 21. Codificación URL en Qt4
- 22. Codificación URL en python
- 23. Cómo decodificar la entidad HTML con manubrios
- 24. JsonResult con codificación Html
- 25. ¿Es válido un ampersand final en una URL?
- 26. Codificación de entidad HTML (convertir '<' a '<') en iPhone en el objetivo-c
- 27. Codificación/decodificación URL con Python
- 28. XSLT versión 1 Codificación URL
- 29. ¿La codificación HTML evita los ataques de seguridad XSS?
- 30. Desactivar la codificación HTML en Razor
dónde viene la cuerda ¿de? ¿Puedes publicar el código que tienes hasta ahora? –
'&' es la forma adecuada de escapar del ampersand en un contexto HTML ... ¿de dónde viene su fuente? y cual es el destino? Puede ser mejor hacer esto en el lado del servidor, por ejemplo. –
Grap algo del cuerpo HTML (y que está codificado en HTML (entonces, ahora me doy cuenta de &)) y tengo que pasarlo en una URL ... Entonces, necesito decodificar el html (¿pero cómo?) es luego codificar la cadena (con encodeURIComponent) ... – dododedodonl