您当前的位置是:首页-ASP教程

asp文章关键词批量加链接

【发表于】:2010/10/29 21:38:00  已被访问:173次
asp关键词加链接
思路:
第一步一般是建立一个关键字替换表 如 id keyword url 等字段
第二步是文章显示时把文章内容和关键字替换表对应的关键字替换成“<a href="[url字段]" target="_blank">[keyword字段]</a>”


function   keywords_link(byval str)   
dim rs   
’问题1解决办法   
set rs=conn.execute("Select * from [关键字替换表] order by len(keyword字段) desc")   
while not rs.eof   
str=p_replace(str,rs("keyword字段"),"<a href="""&rs("url字段")&""" target=""_blank"" >"&rs("keyword字段")&"</a>")    
rs.movenext   
wend   
rs.close   
set rs=nothing   
keywords_link=str   
end function ’

问题2解决函数 避免重复替换   
function p_replace(byval content,byval asp,byval htm)   
dim Matches,objRegExp,strs,i   
strs=content   
Set objRegExp = New Regexp’设置配置对象   
objRegExp.Global = True’设置为全文搜索   
objRegExp.IgnoreCase = True   
objRegExp.Pattern = "(\<a[^<>]+\>.+?\<\/a\>)|(\<img[^<>]+\>)"’   
Set Matches =objRegExp.Execute(strs)’开始执行配置   
’替换正则表达式   
i=0   
Dim MyArray()   
For Each Match in Matches   
ReDim Preserve MyArray(i)   
MyArray(i)=Mid(Match.Value,1,len(Match.Value))   
strs=replace(strs,Match.Value,"<"&i&">")   
i=i+1   
Next   
’没有正则时候   
if i=0 then   
content=replace(content,asp,htm)   
p_replace=content   
exit function   
end if   
’特殊字符替换   
strs=replace(strs,asp,htm)   
’替换回去   
for i=0 to ubound(MyArray)   
strs=replace(strs,"<"&i&">",MyArray(i))   
next   
p_replace=strs   
end function

 
上下篇: asp关键词屏蔽过滤函数代码 asp替换函数replace()简介

最新推荐信息