asp代码实现文章内容关键字链接替换

文章内容中含有表中关键字的地方加上链接 ;文章中含有图片Alt提示的地方跳过,不然添加链接后图片显示出错;已经有链接的也跳过,不替换

function AddToDic(reg,key,Index,str,dic)
  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

function startReplace(str)
dim TempStr:TempStr=str
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 reg,ky,Index,TempStr,dic   
  TempStr
=replace(TempStr,ky,"<a href='"&rs(1)&"'>"&ky&"</a>")
   AddToDic reg,ky,Index,TempStr,dic
   rs.movenext
loop
rs.close
set rs=nothing
cn.Close
set cn=nothing
set reg=nothing

for i=0 to Index-1
   TempStr
=replace(TempStr,"$key"&i&"$",dic.Item("key"&i))
next
set dic=nothing
startReplace
=TempStr
end function



dim str
str
="网络技术网络;网络应用 网络基本知识 <img src='/sss.jpg' alt='网络技术网络;网络应用'><a  href=""http://www.stobar.cn"">"&_
  
"网络技术网络;网络应用 网络基本知识</a>"
str
=startReplace(str)
response.Write str

时间:2009-01-23 | 分类:技术文摘 | 标签: asp  关键字链接自动替换 
评论列表
64x64
sole 2011-04-14 23:23:20 回复
您好,我想知道您这个替换的代码,不需要知道原来的文章内容吗?比如:startReplace(&quot;文章内容&quot;,&quot;要替换的关键字词&quot;)。我的意思是说,这个类支持替换关键字词的功能吗?就像我上面写的那样?谢谢。找了半天找不到您的qq,可以加哥们一下哈:390514201
发表评论
昵称
邮箱
内容