<%
function HtmlEncode(fString)
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
fString = Replace(fString, "exec", "e xec")
fString = Replace(fString, "config", "c onfig")
fString = Replace(fString, "echo", "e cho")
fString = Replace(fString, "'", """")
HtmlEncode = fString
end function
function HtmlDecode(fString)
fString = Replace(fString, ">", ">")
fString = Replace(fString, "<", "<")
fString = Replace(fString, "&","&")
fString = Replace(fString,""", """")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(10), "<BR>")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, "e xec", "exec")
fString = Replace(fString, "c onfig", "config")
fString = Replace(fString, "e cho", "echo")
HtmlUncode = fString
end function
%>
---------------------------------------------------------------------------------
<%
'----------------------------------------------------------------'
' encodeHTML
' HTML 编码,替换输入内容中的 HTML 代码
' 参数:
' str 需要被编码的字符串
' 返回值:字符串 (被编码过的字符串)
'----------------------------------------------------------------'
Function encodeHTML(ByVal str)
If IsNull(str) Then
encodeHTML = ""
Exit Function
End If
str = Replace(str, ">", ">")
str = Replace(str, "<", "<")
str = Replace(str, Chr(9), " ")
str = Replace(str, Chr(39), "'")
str = Replace(str, Chr(34), """)
str = Replace(str, Chr(13), "")
str = Replace(str, Chr(10), "<br/>")
encodeHTML = str
End Function
'----------------------------------------------------------------'
' decodeHTML
' HTML 解码,将编码过的字符串反向解码,恢复 HTML 代码
' 参数:
' str 需要被解码的字符串
' 返回值:字符串 (解码后的字符串)
'----------------------------------------------------------------'
Function decodeHTML(ByVal str)
If IsNull(str) Then
decodeHTML = ""
Exit Function
End If
Str = replace(Str, ">", ">")
Str = replace(Str, "<", "<")
Str = Replace(Str, "", CHR(13))
Str = Replace(Str, "</P><P>", CHR(10) & CHR(10))
Str = Replace(Str, "<BR>", CHR(10))
Str = Replace(Str, "<br/>", CHR(10))
Str = Replace(Str, " ", CHR(9))
Str = Replace(Str, "'", CHR(39))
Str = Replace(Str, """, CHR(34))
Str = Replace(Str, "e xec", "exec")
Str = Replace(Str, "c onfig", "config")
Str = Replace(Str, "e cho", "echo")
Str = Replace(Str, """", "'")
decodeHTML = str
End Function
'这两个函数也是一对逆向操作。很多人都问到自己提交的文章怎么没有换行了,上面的 encodeHTML 就能帮上忙。一般大家都写作 HTMLEncode,这里是为了统一命名(并且区别与 Server 方法),所以写作 encodeHTML。另外,有一个Server.HTMLEncode,功能相似,只是一般自己编写的函数更加灵活。
%>
-------------------------------------------------------------------------------
'替换掉html标记,使其能在页面显示标记
function htmlencode2(str)
dim result
dim l
if isNULL(str) then
htmlencode2=""
exit function
end if
l=len(str)
result=""
dim i
for i = 1 to l
select case mid(str,i,1)
case "<"
result=result+"<"
case ">"
result=result+">"
case chr(13)
result=result+"<br>"
case chr(34)
result=result+"""
case "&"
result=result+"&"
case chr(32)
result=result+" "
if i+1<=l and i-1>0 then
if mid(str,i+1,1)=chr(32) or mid(str,i+1,1)=chr(9) or mid(str,i-1,1)=chr(32) or mid(str,i-1,1)=chr(9) then
result=result+" "
else
result=result+" "
end if
else
result=result+" "
end if
case chr(9)
result=result+" "
case else
result=result+mid(str,i,1)
end select
next
htmlencode2=result
end function
%>