2010-04-13 14 views
8

quiero escapar algo de HTML en JavaScript. ¿Cómo puedo hacer eso?¿Hay algún método para deshacer '>' a '>' en JavaScript?

+0

Tal vez me esté perdiendo algo, pero ¿qué tiene de terrible el cambio de lugar? ¿No funciona? – mpen

+2

Porque tienes más entidades que solo eso. por ejemplo, &arr; ← → • etc ... Oh, y usted tiene esos caracteres no ingleses y acentos '* gasp *' y similares – Warty

Respuesta

11

a menudo uso la siguiente función para decodificar HTML Entities:

function htmlDecode(input){ 
    var e = document.createElement('div'); 
    e.innerHTML = input; 
    return e.childNodes[0].nodeValue; 
} 

htmlDecode('&lt;&gt;'); // "<>" 

simple, multi-navegador y funciona con todos los HTML 4 Character Entities.

+2

Gracias amigo. Por cierto, a través de jQuery se verá como var str = '< >'; $ ('

'+str+'
') .text(); – Somebody

+0

Gracias @Somebody !!! ¡Tu comentario anterior me ayudó! – matheusvmbruno

0

Se puede crear un área de texto simulado, establezca su innerHTML para su html escapado [html con la &gt;s] y utilice el textarea.value

var ta = document.createElement('textarea'); 
ta.innerHTML = "&gt;"; 
alert(ta.value); 

... tuvo que usar esto en vez de un CMS [aunque cuando lo usé, fue una mala práctica]

Cuestiones relacionadas