Codificar y decodificar entidades HTML
Escapa texto para HTML con entidades con nombre, decimales o hexadecimales, o convierte entidades como & y é de nuevo en caracteres.
Ejemplos de código
Copia estos ejemplos en tu propio proyecto. Cada uno usa solo la biblioteca estándar del lenguaje, así que no hay nada que instalar.
const text = '<p class="x">Tom & Jerry</p>'
const entities = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }
console.log(text.replace(/[&<>"']/g, (char) => entities[char]))Qué hace
Escapa texto para HTML y convierte las entidades HTML de nuevo en caracteres. Una entidad escribe un carácter por su nombre (é), como número decimal (é) o como número hexadecimal (é).
Cómo se usa
- Escribe o pega texto, o suelta un archivo de texto.
- Elige Codificar o Decodificar. Al codificar, elige si escapar solo los caracteres que HTML lee como marcado o también todo carácter no ASCII, y si escribir nombres, números decimales o hexadecimales.
- Copia o descarga el resultado.
Ejemplos
Escapar marcado:
<p class="x">Tom & Jerry</p> pasa a <p class="x">Tom & Jerry</p>. Con todo carácter no ASCII escapado, café © € pasa a café © €.
Conviene saber
- Los caracteres que siempre hay que escapar en texto y atributos HTML son
&,<,>,"y'. - El apóstrofo se escribe
', porque HTML 4 no tiene nombre para él. Decodificar también lee'. - Los caracteres sin nombre, como los emojis, se escriben como números, uno por carácter.
- La tabla de nombres cubre las 252 entidades de HTML 4.01. Un nombre fuera de ella se deja como se escribió al decodificar.
¿Qué es una entidad HTML?
Una entidad es una forma de escribir un carácter en HTML sin teclearlo: un nombre como é o un número como é (decimal) o é (hex). Cinco caracteres deben escaparse en texto y atributos porque HTML los lee como marcado: & < > y las dos comillas.
Preguntas frecuentes
¿Qué caracteres debo escapar?
Escapa & y < en el texto, y la comilla que rodea un valor de atributo dentro de él. Escapar > y ambas comillas en todas partes es inofensivo y la opción segura, que es lo que hace Solo marcado. Escapar así la entrada de usuarios es la primera defensa contra el marcado inyectado.
¿Por qué el apóstrofo pasa a ' y no a un nombre?
HTML 4 no tiene entidad con nombre para el apóstrofo. ' existe en XML y HTML5, pero el software antiguo no lo conoce, así que un número es la opción segura. Decodificar acepta ambos.
¿Esta herramienta envía mi texto a algún sitio?
No. Todo ocurre en tu navegador. Lo que escribes nunca se envía a nuestros servidores.