在正文中搜索关键字

时间:2014-09-01 09:53:29

标签: javascript jquery ajax

我使用ajax调用从外部URL获取html:

 var uriData = $.ajax({ url: 'http://www.example.com', success: function(data) { alert(data); } });

工作正常。我收到一个关于外部网站html的提醒。

是否有一种简单的方法可以搜索关键字并计算文本或html-body标题中的关键字数量?

我试过这种方式:

HTML

<input id="url" type="text" name="url">
<input id="keyword" type="text" name="keyword">

SCRIPT

 function keyWords() {
   var website = jQuery('#url').val(); 
   var keyword = jQuery('#keyword').val(); 

   jQuery.ajax({ url: website, success: function(data) { 
   var sumKeyword = data.split(keyword).length - 1;    
   alert (sumKeyword); } 
   });
 };

但不幸的是,他随后在整个HTML中搜索关键字。 (例如也在achor文本等中)最后,我想获得标题和文本中的关键字数量(p,span等)

3 个答案:

答案 0 :(得分:2)

这里有一大堆代码可能会激励您解决问题

   var data='<span id="url" type="text" name="url">test this test</span>';
    var message = $('<div/>').append(data).find("span:contains('test')").each(function(){

       var sumKeyword = $(this).text().split("test").length - 1;  
       alert (sumKeyword); 

    });

jsfiddle

答案 1 :(得分:1)

您可以使用匹配功能执行此操作:

jQuery.ajax({ url: website, success: function(data) {
   var body = data.match(/<body>(.*)<\/body>/)[1];
   var sumKeyword = body.split(keyword).length - 1;    
   alert (sumKeyword); } 
});

答案 2 :(得分:1)

将文本从HTML的样板文件中删除是多个外部API和库解决的常见任务。您不能通过检查网页中的所有文本来获取文本内容,因为您最终会得到许多不相关的广告等等。 使用像Diffbot这样的库可以识别标题/标题和正文,并建议一些标记和关键字。之后,您可以对提取的文本进行分析。

外部API