2009-12-02 9 views
1

HTML을 일반 텍스트로 변환하려고합니다. 그것은 효율적입니까? 내가 놓친 게 있니?jQuery를 사용하여 HTML을 텍스트로 변환하는 효율적인 방법입니까?

txt = $("body").find("script,noscript,style,:hidden").remove().end().text(); 

감사!

+0

질문이 명확하지 않습니다 .. – hasen

+0

해당 코드가 원하는 결과를 제공합니까? 그게 유일한 방법이라고 생각합니다. 필자는'lynx --dump'와 같은 도구를 사용하여 웹 페이지의 텍스트 버전을 얻는 경향이 있습니다. 그러나 클라이언트 측의 기술은 괜찮습니다. – artlung

+0

$ ('body')를 어떻게 하시겠습니까? text()가 성취하지 못합니까? –

답변

4

HTML 입니다.

편집이 시도 ...

// Get current body text 
var html = $("body").text(); 

// Create a new jQuery object out of body text and remove desired elements 
var text = $(html).remove("script,noscript,style,:hidden").text(); 
+0

제 HTML 문서의 일반 텍스트 버전을 찾고 있습니다. – Sleepster

+0

답변이 업데이트되었습니다. 나는 그것이 당신을 위해 일할 것이라고 생각합니다. –

+0

실제로 요소를 제거한 후에는 다시 플러그를 꽂을 수 없기 때문에 실제로 비슷한 결과를 얻었습니다. 이제 우리가 clone()의 재귀 버전을 가지고 있다면 ... – Sleepster

-1

방금 ​​화면에 렌더링하려는 당신이 할 수있을 경우

<pre> 
    some html here 
</pre> 
+0

HTML을 일반 텍스트로 변환하기 위해 클라이언트 측 스크립트를 사용하려고합니다. – Sleepster

+0

일반 텍스트라고 말하면 태그를 제거 하시겠습니까? – Lewis

0

당신은 element.textContent을 원하는 (element.innerText에 대한 IE).

0
var scriptContents = $('body').find('script').html(); 
var noScriptContents = $('body').find('noscript').html(); 
var styleContents = $('body').find('style').html(); 
관련 문제