| 1 | /** |
| 2 | * Codifica un texto para que cambie los caracteres |
| 3 | * especiales y no se pueda interpretar como |
| 4 | * etiiqueta HTML. Esta técnica evita la inyección |
| 5 | * de código. |
| 6 | * @param { string } texto |
| 7 | * @returns { string } un texto que no puede |
| 8 | * interpretarse como HTML. */ |
| 9 | export function htmlentities(texto) { |
| 10 | return texto.replace(/[<>"']/g, textoDetectado => { |
| 11 | switch (textoDetectado) { |
| 12 | case "<": return "<" |
| 13 | case ">": return ">" |
| 14 | case '"': return """ |
| 15 | case "'": return "'" |
| 16 | default: return textoDetectado |
| 17 | } |
| 18 | }) |
| 19 | } |