2012-01-19 7 views
2

나는 내 데이터베이스에서 html 콘텐츠를 가져 와서 페이지에 표시하고 있습니다.JavaScript에서 html 태그를 닫는 방법?

불행히도 이러한 페이지는 종종 닫히지 않은 HTML 태그를 가지며 나중에 페이지가 렌더링 될 때 문제를 일으 킵니다.

tidy 또는 htmlpurifier과 같은 자바 스크립트 구현이 있는지 궁금합니다.

기본적으로 문자열에서 html 태그를 닫을 수있는 소프트웨어가 기본적으로 제공됩니다.

편집 : 나는 브라우저 환경에서 아니에요 (Node.js를)

답변

4

당신이 와 함께 귀하의 질문에 태그로 :

npm install tidy 
+0

감사합니다. 나는 실제로 문제가 발생했을 때 sanitizer 노드 모듈을 사용했습니다. 어쨌든이 대답은 미래의 독자들에게 가장 정확하며 모든 제안은 유용하다고 생각합니다. – Aaron

3
이 같은

뭔가 일할 수 :

function tidy(htmldata) { 
    var d = document.createElement('div'); 
    d.innerHTML = htmldata; 
    return d.innerHTML; 
} 
+0

죄송하지만 저는 브라우저 환경이 아니라는 것을 잊어 버렸습니다. – Aaron

+0

@Aaron, [jsdom] (http://jsdom.org) FTW;) –

+0

@JuicyScripter 감사합니다. – Aaron

3

http://code.google.com/p/google-caja/wiki/JsHtmlSanitizer 태그는 균형을 유지합니다.

+2

[tag : node.js] 모듈 ['sanitizer'] (https://github.com/theSmaw/Caja-HTML-Sanitizer)로도 제공됩니다 –

+0

감사합니다. Sanitizer를 node.js 모듈로 사용하는 것이 내 솔루션에 더 유용했습니다. – Aaron

+0

@JuicyScripter, 좋습니다. 나는 몰랐다. –