2010-04-13 4 views
8

JavaScript에서 일부 HTML을 이스케이프 처리하려고합니다. 어떻게해야합니까?JavaScript에서 '>'을 '>'로 이스케이프 처리하는 방법이 있습니까?

+0

아마도 내가 놓친 것이지만, str.replace에는 어떤 것이 끔찍한가요? 작동하지 않습니까? – mpen

+2

그 이상의 실체가 있기 때문에. 예를 들어 &arr; ← → • 등 ... 아, 영어 이외의 문자와'* gasp * '악센트 등이 있습니다 – Warty

답변

11

:

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

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

간단한, 크로스 브라우저와 함께 작동 모두 HTML 4 Character Entities.

+2

감사합니다. Btw는 jQuery를 통해 var str = '< >'처럼 보일 것입니다. $ ('

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

+0

Thanks @ Somebody !!! 당신의 위의 코멘트는 나를 도왔다! – matheusvmbruno

0

당신은 더미 텍스트 영역을 만들 수 있습니다, [당신의 탈출 HTML [&gt;s와 HTML]에 자사의 innerHTML을 설정하고 textarea.value

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

를 사용하여 ... 한 번 CMS에이를 사용했다하더라도 내가 그것을 사용하는 경우, 그것이 나쁜 연습] 나는 종종 HTML Entities를 디코딩하기 위해 다음과 같은 기능을 사용

관련 문제