TSYS1.1资源内容链接里alt="keywords"出错的解决办法
一共修改二个文件.
文件一:CreateFile_Fun.asp
'////////////////////////////////////////
'//生成资源内部链接
Function UrlName(arrContent)
这个函数用我的给替换掉....下面是:
'////////////////////////////////////////
'//生成资源内部链接
Function UrlName(arrContent)
Dim UrlContent,RsUrl,str_patrn,charClass,encodeStr
UrlContent=arrContent
set charClass = new Tkl_StringClass
If UrlContent<>"" Then
Set RsUrl=Conn.Execute("Select Title,LinkUrl From LinkList order By Id Desc")
While Not RsUrl.Eof
encodeStr=charClass.StringEncoder(RsUrl("Title"))
UrlContent=Replace(UrlContent,RsUrl("Title"),"{$Encoder:" & encodeStr & "$}")
str_patrn="(>[^<]*?)({\$Encoder:" & encodeStr & "\$})"
UrlContent=charClass.ReplaceTestUrl(str_patrn,UrlContent,"<a href="""&RsUrl("linkUrl")&""" target=""_blank"">"&RsUrl("Title")&"</a>")
str_patrn="{\$Encoder:" & encodeStr & "\$}"
UrlContent=charClass.ReplaceTest(str_patrn,UrlContent,Cstr(RsUrl("Title")))
RsUrl.MoveNext
Wend
RsUrl.Close
Set RsUrl=Nothing
End If
set charClass=nothing
UrlName=UrlContent
End Function
文件二:Include/Tkl_StringClass.asp
在最后面加二个函数即可.
'//函数:字符编码 - StringEncoder
'//参数:字符串
Public Function StringEncoder(mStr)
StringEncoder=Server.UrlEncode(mStr)
Dim RegString,RegChar,n
RegString="\$()*+.[?^{|"
For n=1 to Len(RegString)
RegChar=Mid(RegString,n,1)
StringEncoder=Replace(StringEncoder,RegChar,"\"&RegChar)
Next
End Function
'//函数:内容链接字符串替换 - ReplaceTestUrl
'//参数:正则表达式,被替换字符串,替换值
Public Function ReplaceTestUrl(patrn,mStr,mValue)
ReplaceTestUrl=mStr
Dim regEx, Match, myMatches
Set regEx=New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
Set myMatches=regEx.Execute(mStr)
If myMatches.Count<=0 Then exit function
For Each Match In myMatches
ReplaceTestUrl=Replace(ReplaceTestUrl,Match.SubMatches.item(0)&Match.SubMatches.item(1),Match.SubMatches.item(0)&mValue)
next
End Function
注意,加在 End Class 的上面~~~~~
本文主题关于TSYS1.1资源内容链接里alt="keywords"出错的解决办法