最近需要找到一个自动可以将文章中出现的关键词替换为链接样式,替换后的好处自认不说了!但是关键是怎么实现了!
我在网上搜了一下有两张出现的结果,一种是加入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属性,可以自己添加!

17fav 收藏本文

,

17fav 收藏本文

  • No Related Post

看完了要说点啥么?

收藏 & 分享

Powered by 17fav.com