pc软件 文章资讯 手机软件

您当前的位置→图文中心网站专题网站建设JS批量替换内容中关键词为超链接
阅读排行

JS批量替换内容中关键词为超链接


2017/2/20  编辑:admin 来源:本站整理

懂点seo的人都知道要给内容中关键词加上链接, 形成站内锚文本链接, 这对seo有很大的帮助。
思路就是在数据库中录入若干个关键词和关键词对应的链接, 当然链接可以根据关键词的id自动生成, 或者直接用关键词作为链接参数, 如?tag=1、?kw=关键词。
这个问题不是简单的一个批量replace那么简单, 要考虑到已经存在的超链接, 不能将里面的文字再次替换为超链接, 还有就是图片的alt属性, 或者其他标签的title属性, 里面的文字也不该被替换。
见下面的HTML代码:
【<a href="http://www.baidu.com" rel="external nofollow" rel="external nofollow" >九寨沟概要</a>】九寨沟位于四川省阿坝州九寨沟县境内, 5A景点, 世界自然遗产, 有"五绝"之景色, 我感到最绝的是海子, 此生不能不去的景区。  一年四季适合游, 秋天是最美的。  <img src="" alt="九寨沟图片" title="九寨沟图片" />
这种情况你不能直接将九寨沟替换为超链接啊, 不然第一个链接就会被替换为链接中包含链接, 然后是图片上的alt和title也替换了一个链接上去, 这肯定是不符合HTML规范的。
情景一:排除属性中的关键词
匹配的正则为:关键词[^<]*>, 所以排除这个关键词的正则为:关键词?!([^<]*>)。
情景二:排除链接中的关键词
匹配的正则为:关键词[^<]*<\/a>, 所以排除这个关键词的正则为:关键词?!([^<]*<\/a>)。
整合两种情况的结果为:var reg=/关键词(?!([^<]*>)|([^<]*<\/a>))/ig;
废话不多说, 最后给出一个完整的批量替换实例:
<!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=utf-8" /><title>无标题文档</title></head><body><div id="content">【<a href="http://www.baidu.com" rel="external nofollow" rel="external nofollow" >九寨沟概要</a>】九寨沟位于四川省阿坝州九寨沟县境内, 5A景点, 世界自然遗产, 有"五绝"之景色, 我感到最绝的是海子, 此生不能不去的景区。  一年四季适合游, 秋天是最美的。  <img src="" alt="九寨沟图片" title="九寨沟图片" /></div><hr /><div id="new"></div><script>var c=document.getElementById("content").innerHTML;//var reg=/九寨沟(?!([^<]*>)|([^<]*<\/a>))/ig;var json=[  {'key':'九寨沟','url':'/九寨沟/'}  ,{'key':'景点','url':'/景点/'}  ,{'key':'景区','url':'/景区/'} ];var reg;for(var i=0;i<json.length;i++){ var j=json[i]; reg=new RegExp(j.key+"(?!([^<]*>)|([^<]*<\/a>))","ig"); c = c.replace(reg,"<a href='"+j.url+"'>"+j.key+"</a>");}document.getElementById("new").innerHTML=c;</script></body></html>
替换后的效果:
JS批量替换内容中关键词为超链接
以上就是本文的全部内容,

相关文章

ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。...:ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)是网站后台建设常见的三种语言,在通过HTML完成了网站的前台页面设计之后,下一步便是通过这三种语言中...。

IIS7.5中对所有请求响应的JSON数据进行GZIP编码:当你有一个RESTful的webservice,并且请求返回的数据格式为JSON格式,你可能希望无论客户端请求头中是否包含Accept-Encoding:gzip,都希望对数据进行gzip/compressed处理,只需对mimetypel...。

js图片等比例缩放:该函数考虑的比较周全functionAutoResizeImage(maxWidth,maxHeight,objImg){varimg=newImage();img.src=objImg.src;varhRatio;varwRatio;va...。

发表评论
网站帮助 - 广告合作 - 下载声明 - 网站地图