注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php 王建

php之路

 
 
 

日志

 
 

js高亮度显示_王建  

2011-12-25 22:03:14|  分类: php类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在一般的网站上面都有搜索的功能 ,我们看到有的网站是有关键字亮度显示,其实有很多种做法,第一种做法就是用php的函数正则进行替换 preg_replace,但是这种做法比较麻烦,一般我们也懒得写那么多的正则,另外的一种办法就是现在有一个写好的js我们可以拿来直接的用,你只要把网站的关键字传过去即可!js的源文件如下:

function findKeywordsStr(){
 var s = document.getElementsByTagName("script");
 for(var i=0;i<s.length;i++) if(s[i].id&&s[i].id=="focusKeyJS") return s[i].getAttribute("keywords")||"";
}
function KeywordsFn(h){
 var s = this;
 s.html = h;
 s.strKeywords = s.html.getAttribute("keywords")||window["focusKwStr"]||findKeywordsStr()||KeywordsFn.strKeywords;
 s.keywords = s.strKeywords.replace(/\\\|/g,"s#%#%s").split('|');
 s.focusKeywords((document.createTreeWalker&&s.strKeywords)||(document.body.createTextRange&&s.keywords));
}
KeywordsFn.prototype = {
 focusKeywords : function(k){
  function inKeywordsRange(b){
   if(!s.html) return true;
   if(b==="undefined") return false;
   if((b.id).indexOf(s.html.id)==0) return true;
   var a = b.parentElement;
   if(a==="undefined"||!a) return false;
   while((a.id).indexOf(s.html.id)!=0){
    a = a.parentElement;
    if(a==="undefined") return false;
    if(a.tagName=="HTML"||a.tagName=="HEAD") return false;
   }
   return true;
  }
  
  var s = this;
  if(k instanceof Array){
   var r,o;
   for(var i=0;i<k.length;i++){
    r = document.body.createTextRange();
    while(k[i]&&k[i].trim&&k[i].trim()&&r.findText(k[i].trim().replace(/s#%#%s/g,"|"))){
     o = r.parentElement();
     if(inKeywordsRange(o)) r.pasteHTML("<font class='keywords_focus'>"+k[i].trim().replace(/s#%#%s/g,"|").encodeHTML()+"</font>");
     r.collapse(false);
    }
   }
  }
  else if((typeof(k)=='string'||k instanceof String)&&k.trim()){
   var Accept_Node = function(a){
    if(a.tagName=="IMG"||a.tagName=="FORM"||a.tagName=="OBJECT"||a.tagName=="SCRIPT") NodeFilter.FILTER_REJECT;
    else return NodeFilter.FILTER_ACCEPT;
   }
   var t = document.createTreeWalker(s.html,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,Accept_Node,false);
   var arr = new Array();
   var r = document.createRange();
   var cNode,H,h,z,spanTag,e,N,N2,c;
   try{while(cNode=t.nextNode()) if(cNode.nodeValue!=null) arr.push(cNode);}
   catch(e){};
   for(var i=0;k.trim()&&i<arr.length;i++){
    N = arr[i];
    H = N.nodeValue;
    e = new RegExp(k.fix4reg(),"g");
    H.replace(e,function(a,b){
          c = H.indexOf(a);
          r.selectNode(N);r.setStart(N,c);r.setEnd(N,r.startOffset+a.length);
          r.deleteContents();
          z = document.createElement("font");
          z.className = "keywords_focus";
          z.innerHTML = a.encodeHTML();
          r.insertNode(z);
          N = z.nextSibling;
          H = N.nodeValue;
         });
   }
  }
 }
}
KeywordsFn.strKeywords = "";
if(typeof(window["keyModuleIns"])=="undefined"||!window["keyModuleIns"]) window["keyModuleIns"] = [];
function initKeywordsModule(){
 var e=/<[^>]+\szpmodule=[\'\"]?([\w|]+)[^>]+/g;
 var g=/id=[\'\"]?([\w\-]+)/i;
 var i,j,rIndex=-1;
 window.document.body.innerHTML.replace(e,function(a,b){if((i=a.match(g))&&(j=document.getElementById(i[1]))){
                if(window[b]){
                 if(!window["keyModuleIns"].hasIns) window["keyModuleIns"].hasIns = true;
                 window["keyModuleIns"][i[1]] = new window[b](j);
                }
               }return '';});
 if(!window["keyModuleIns"].hasIns){
  if(!document.body.id) document.body.id = "keywordsBody";
  window["keyModuleIns"]['body'] = new window["KeywordsFn"](document.body);
 }
}
$regEventDomReady(initKeywordsModule);
function $regEventDomReady(fn){var callFn=arguments.callee;if(!callFn['domReadyUtil']){var userAgent=navigator.userAgent.toLowerCase();callFn['domReadyUtil']={browser:{version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)},readyList:[],each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break}else for(;i<length;)if(callback.apply(object[i++],args)===false)break}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break}else for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object},ready:function(){var dom=callFn['domReadyUtil'];if(!dom.isReady){dom.isReady=true;if(dom.readyList){dom.each(dom.readyList,function(){this.call(document)});dom.readyList=null}}}}}var domReadyUtil=callFn['domReadyUtil'];(function(){if(callFn['readyBound'])return;callFn['readyBound']=true;if(document.addEventListener&&!domReadyUtil.browser.opera)document.addEventListener("DOMContentLoaded",domReadyUtil.ready,false);if(domReadyUtil.browser.msie&&window==top)(function(){if(domReadyUtil.isReady)return;try{document.documentElement.doScroll("left")}catch(error){setTimeout(arguments.callee,0);return}domReadyUtil.ready()})();if(domReadyUtil.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(domReadyUtil.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return}domReadyUtil.ready()},false);myAttachEvent(window,"load",domReadyUtil.ready)})();if(domReadyUtil.isReady)fn.call(document,domReadyUtil);else domReadyUtil.readyList.push(function(){return fn.call(this,domReadyUtil)});return this};function myAttachEvent(d,e,f){try{if(d.attachEvent) d.attachEvent("on"+e,f);else if(d.addEventListener) d.addEventListener(e,f,false);else{var oldF = eval('d.on'+e);if(typeof oldF!='function') eval('d.on'+e+'=f');else eval('d.on'+e)=function(){oldF();f();}}}catch (error){}};String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");};String.prototype.fix4reg=function(){return this.replace(/(^\s*)|(\s*$)/g,"").replace(/(\s*\|+\s*)+/g,"|").replace(/\+/g,"\\+").replace(/\?/g,"\\?").replace(/\*/g,"\\*").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/\{/g,"\\{").replace(/\}/g,"\\}").replace(/\$/g,"\\$").replace(/\./g,"\\.").replace(/\^/g,"\\^");};String.prototype.encodeHTML=function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");};

 

在页面内调用是这样的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style  type="text/css">
    .keywords_focus {color:#000;background:#F1871F;}
</style>
</head>

<body>
<script src="keywords.js" keywords="内容" id="focusKeyJS"></script>
<pre>
博客营销

博客是网络日记。
六大好处:
 1、建立直接,互动,广泛的顾客沟通渠道
 2、和顾客建立个性化的长久关系,建立信赖感
 3、优化的重要手段之一。
 4、提升企业品牌知名度和美誉度
 5、帮助企业做好员工和代理商的内部沟通
适合什么类型的企业?
 1、专业程度高的企业
 2、服务
 3、有特色产品的理念指导
九大关键:
 1、聚焦就是力量:明确主题,集中主题
 2、博客命名:旗帜鲜明,帮助优化
  1、需要选择长尾关键词,帮助进行优化
 3、标题 > 内容
  1、好标题胜过千言万语
 4、内容为王:多更新,……
 5、殷勤待客:多回复,多顶贴
 6、多开博客多收益:在100个热门博客平台上建立博客(搜索所有博客平台:博客 blog bbs,前一百个)
 7、多踩博客多流量:在100个知名博客上跟帖
 8、博客优化要到位:博客主题和文章正文中需要添加关键词
 9、关键词连接要软性:正文关键词要连接会网站
博客营销的两个核心:
 1.内容吸引人气,打造博客的好口碑
 2.通过搜索引擎,提高企业的排名
博客宣传五大关键:
 1.多踩博客多流量
 2.多参见圈子多人气
 3.添加博客友情连接
 4.发邮件推广你的博客
 5.利用QQ群进行博客推广
你打造营销型博客五步骤:
 1.博客必须明确自己的读者是谁?希望带给对方什么印象?达到什么目的?
 2.标题,必须吸引人,而且带想要的关键字
 3.
 4.客户回头率高博客效果越好(必须经常更新,内容不在多,在于勤)
 5.必须多做推广,博客的作用在于把有价值的质询加以利用
博客写作要求:
 1.标题及内容需要进行优化,要加上“网络营销讲师”“搜马”关键词
 2.添加和自己产品相关的关键词,需要加上超链接回到自己的网站
 3.每篇文章不得少于300字,可以分享课程学习心得同时让阅读者对你的描述的事情感兴趣
 4.博客评价
博客评分规则:
 1.文章标题 30
 2.标题吸引力 20 你的标题能否抓住眼球?同时一定要包含“网络营销讲师”的关键词
 3.文章销售力 20 
 4.关键词优化 20 文章中的关键词和标题中的一致,需要加超链接,于主题有关的图片
 5.有效回帖 5
 </pre>
</body>
</html>

其中keyword是\传入的关键字,上面有个样式 是你设置关键字的颜色和背景 就这么简单,省去了很多的代码

  评论这张
 
阅读(163)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018