asp只给文章第一个关键词自动加链接
发布时间 | 2016/10/16 点击 | 次
<%
function keywords_link(byval str)
dim rs
'解决办法 来源 www.021jz.com.cn
set rs=conn.execute("select * from [tag] order by len(keyword) desc")
while not rs.eof
str=p_replace(str,rs("keyword"),""&rs("keyword")&"")
rs.movenext
wend
rs.close
set rs=nothing
keywords_link=str
end function
'解决办法 避免重复替换 来源 www.021jz.com.cn
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\>)|(\]+\>)"'
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
%>
来源上海网页制作 www.021jz.com.cn