2009-12-02 63 views
1

我试图将HTML转换为纯文本。它有效吗?我错过了什么吗?这是一种使用jQuery将HTML转换为文本的有效方法吗?

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

谢谢!

+0

问题不明确.. – hasen 2009-12-02 01:11:31

+0

有问题的代码是否给你想要的结果?我认为这是唯一重要的措施。我倾向于使用像lynx --dump这样的工具来获取网页的文本版本 - 但客户端技术看起来很好。 – artlung 2009-12-02 01:11:33

+0

你想做什么$('body').text()不能完成? – 2009-12-02 01:25:40

回答

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 2009-12-02 01:29:55

+0

答复已更新。我认为它会为你工作。 – 2009-12-02 14:14:35

+0

事实上,我最终最终做了类似的事情,因为一旦你删除了元素,基本上不可能将它们插回去。现在,只要我们有克隆()... – Sleepster 2009-12-02 20:23:52

-1

如果你想只是把它呈现在屏幕上,你也许能:

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

我想用客户端脚本将HTML转换为纯文本。 – Sleepster 2009-12-02 01:30:30

+0

当你说普通的tesxt你的意思是你想删除标签? – Lewis 2009-12-02 11:37:13

0

你想element.textContentelement.innerText为IE)。

0
var scriptContents = $('body').find('script').html(); 
var noScriptContents = $('body').find('noscript').html(); 
var styleContents = $('body').find('style').html(); 
相关问题