最近需要找到一个自动可以将文章中出现的关键词替换为链接样式,替换后的好处自认不说了!但是关键是怎么实现了!
我在网上搜了一下有两张出现的结果,一种是加入js代码在网页中,然后可以替换关键词,第二种是在网站后台提交文章时,替换后保存到数据库中!对于第一种做法,不知道爬虫是否能读的出来,第二种是肯定可以读出的!
现将我看到可以有效的解决关键词替代的程序粘贴如下,我测试过可以的用的!
把含有关键字和新生成的a标签加入字典中
function AddToDic(key)
pattern=“<[^>]*“&key&“[^>]*>|<a[^>]*>[^<]*“&key&“[^<]*<\/a>“
reg.Pattern=pattern
set matches=reg.Execute(str)
for each m in matches
dic.Add “key“&Index,m.value
str=replace(str,m.value,“$key“&Index&“$“)
Index=Index+1
next
set matches=nothing
end function
‘把原来设置标签替换回字典中的值
sub getBackStr
for i=0 to Index-1
str=replace(str,“$key“&i&“$“,dic.Item(“key“&i))
next
end subdim str
str=“网络技术网络;网络应用 网络基本知识 <img src=’/sss.jpg’ alt=’网络技术网络;网络应用’><a href=”" mce_href=”"http://www.stobar.cn”">“&_
“网络技术网络;网络应用 网络基本知识</a>“
dim dic‘字典
set dic=server.CreateObject(“scripting.dictionary“)
dim Index:Index=0
dim rs,cn,cnstr
set cn=server.CreateObject(“adodb.connection“)
cnstr=“provider=microsoft.jet.oledb.4.0;data source=“&server.MapPath(“t.mdb“)
cn.Open cnstr
set rs=cn.Execute(“select keyname,link from keylink order by YX desc“)
dim reg
set reg=new RegExp
reg.Global=true
reg.IgnoreCase=true
dim pattern,matches,m,ky
do while not rs.eof
ky=trim(rs(0))
AddToDic(ky)
reg.Pattern=ky‘=======把含有关键字的非要替换的标签加入字典
str=replace(str,ky,“<a href=’“&rs(1)&“‘>“&ky&“</a>“)
AddToDic(ky)‘=======把替换好后的标签加入字典
rs.movenext
loop
rs.close
set rs=nothing
cn.Close
set cn=nothing
set reg=nothing
call getBackStrset dic=nothing
response.Write str
在这个程序中,你可以自己修改,把字典内容进行修改,从数据库里读取!从而更加灵活实现替代!但是这个没有链接的alt属性,可以自己添加!


看完了要说点啥么?