文章中添加关键字链接
作者:wang 日期:2009-12-15
代码:
<%
function keywords_link(byval str)
dim rstags
'问题1解决办法
set rstags=conn.execute("select * from [tags] order by len(title) desc")
while not rstags.eof
str=p_replace(str,rstags("title"),""&rstags("title")&"")
rstags.movenext
wend
rstags.close
set rstags=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\>)|(\]+\>)"
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
%>
使用:
<%=keywords_link(rs("content"))%>即可
<%
function keywords_link(byval str)
dim rstags
'问题1解决办法
set rstags=conn.execute("select * from [tags] order by len(title) desc")
while not rstags.eof
str=p_replace(str,rstags("title"),""&rstags("title")&"")
rstags.movenext
wend
rstags.close
set rstags=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\>)|(\]+\>)"
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
%>
使用:
<%=keywords_link(rs("content"))%>即可
评论: 0 | 引用: 0 | 查看次数: 4017
发表评论