鉴于有一个HTML体系,是否有人编写过的任何函数会自动提取出一大块HTML中出现的前10个关键字,不包括任何HTML标签(IE只是纯文本)?
它应该忽略像“和”,“是”,“但是”等常用词,但列出最常见的不常见词。
示例输入:
Mary had a <strong>snow</strong> lamb. <img src=lamb.jpg /> The <i>lamb</i> was snow white, it lay in the snow all white.
输出:
Snow (3)
White (2)
Lamb (2)
Jquery很好!
答案 0 :(得分:2)
简称:
1)采取你身体的内部HTML;
2)去除所有标点符号和\ n所以你有一个单行字符串;
3)使用.replace()去掉所有标签(/&lt; [^&gt;] *&gt; / g);
4)去除所有常用词(/ \ band \ b / g,/ \ bbut \ b / g,...); 例如。如果你的无用的话是那些少于4个字符然后剥离的话 / \ B [+] {1,3} \ B /
4a)可选:如果您不关心WoRdCAse,只需将全部变换为小写 (str.toLowerCase())
5)在空格上划分(str.split('')),得到一个数组(arr)
6)
var words = {},
i = arr.length;
while(--i) {
war extWord = arr[i];
words[extWord] = (!!words[extWord])? words[extWord] + 1 : 1;
}
7)在...循环(单词)对象中创建for ...以获取键(单个单词)和值(该单词的出现位置)
希望这个帮助
答案 1 :(得分:0)
对Fabrizio概述的选项进行轻微修改并使用jQuery。
//抓取页面中的所有文字
var myDocumentText = $(“body”)。text();
myParseText(myDocumentText);
函数myParseText(myText){
...在这里用你的逻辑处理文本,不计算,或等等。
}