使用javascript收集文档DOM树中的每个单词

时间:2009-06-04 02:39:52

标签: javascript json utf-8

假设你有一个大约7000字的大文档。我需要将所有数据发送到服务器。 我没有机会使用jquery,原型等。它应该是干净的OO javascript。 样本页面将是json俄语页面 我会从单词中排除所有标签和html标记。

我的问题是;

  • 1。如何从文档中收集/收集所有(utf8)单词?
  • 2。如何将结果转换为JSON数据?

  • 感谢

    1 个答案:

    答案 0 :(得分:3)

    对于面向对象的编程来说,这似乎不是一项工作。性感的递归函数可以更好地工作。

     var output=[];
    
     function scan(element) {
        var children=element.childNodes;
        for (var child in children){
            if (children[child].nodeValue) {
                output.push(children[child].nodeValue);
            }else {
                scan(children[child]);
            };
        };
     };
    
     scan(window.document.body);
    

    这不会将文本分解为单个单词或甚至生成JSON,但它会为您提供单个单词的列表。你仍然需要对文本进行一些清理。在我的2秒测试中,我发现它喜欢显示所有内容的文本,包括javascript和换行符(\ n)。也许如果我愿意,我会添加更多代码。但这应该让你前进。

    要将其变成JSON,请尝试Douglas Crockford的toJSON代码。只是谷歌吧。