Entidades HTML
Convierte caracteres especiales en entidades HTML para mostrar código de forma segura, o recupera el texto original a partir de las entidades.
Las entidades que importan de verdad
| Carácter | Con nombre | Numérica | Cuándo es obligatorio |
|---|---|---|---|
| & | & | & | Siempre, inicia toda entidad |
| < | < | < | Siempre, abre una etiqueta |
| > | > | > | Por simetría y seguridad |
| " | " | " | Dentro de un atributo |
| ' | ' | ' | Dentro de un atributo |
| espacio fijo | |   | Para impedir un salto de línea |
| € | € | € | Nunca con UTF-8 |
| ñ | ñ | ñ | Nunca con UTF-8 |
Por qué esto es una cuestión de seguridad
Imagina un formulario de comentarios que publica lo que escribe la gente sin escapar nada. Alguien envía como comentario una etiqueta de script con código dentro. Cuando otro visitante abre la página, su navegador no ve un comentario: ve una etiqueta de script y la ejecuta, con acceso a las cookies y a la sesión de esa persona.
Eso es un ataque de cross-site scripting, y escapar los caracteres lo desactiva por
completo: al convertir el menor que en <,
el navegador entiende que ahí hay un carácter de texto, no el principio de una etiqueta.
La práctica correcta es guardar el texto tal cual lo escribió la persona y escaparlo en
el momento de mostrarlo. Si escapas antes de guardar, acabas con datos que se van
escapando una y otra vez y aparecen esos &amp;
que se ven en tantas webs.
Preguntas frecuentes
&, <, > y, dentro de un atributo, las comillas. El resto (tildes, eñes, símbolos) se pueden escribir tal cual si la página declara UTF-8, que es lo normal hoy. &) pero solo existe para un conjunto limitado de caracteres. La numérica (&) funciona con cualquier carácter Unicode, aunque cuesta más de leer. <meta charset="utf-8">, que es lo habitual. Escribir "año" directamente es correcto y más legible que "año". Solo tiene sentido escaparlas en contextos antiguos o al generar correos. Esta utilidad se ejecuta enteramente en tu equipo con JavaScript. Lo que escribes o pegas no se envía a ningún servidor, no se guarda y no queda registrado en ninguna parte.
Utilidades relacionadas
¿Buscas una app para instalar?
80+ Apps Markdown
El directorio más completo en español. Filtra por plataforma, precio y uso.