asp 过滤方法,自己常用的。

Function HTMLEncode(t0)
	IF Len(t0)<0 Or IsArray(t0) Then Exit Function
	t0=Trim(t0)
	t0=Re(t0,CHR(9),"")         '"TAB"
	t0=Re(t0,CHR(13),"")        '回车
	t0=Re(t0,CHR(22),"")
	t0=Re(t0,CHR(38),"&")	'“&”
	t0=Re(t0,CHR(32)," ")	'“ ”
	t0=Re(t0,CHR(34),""")	'“"”
	t0=Re(t0,CHR(37),"%")	'“%”
	t0=Re(t0,CHR(39),"'")	'“'”
	t0=Re(t0,CHR(42),"*")	'“*”
	t0=Re(t0,CHR(43),"+")	'“+”
	t0=Re(t0,CHR(44),",")	'“,”
	t0=Re(t0,CHR(45)&CHR(45),"--")	'“--”
	t0=Re(t0,CHR(92),"\")	'“\”
	t0=Re(t0,CHR(40),"(")	'“(”
	t0=Re(t0,CHR(41),")")	'“)”
	t0=Re(t0,CHR(60),"<")	'“<”
	t0=Re(t0,CHR(62),">")	'“>”
	t0=Re(t0,CHR(123),"{")	'“{”
	t0=Re(t0,CHR(125),"}")	'“}”
	t0=Re(t0,CHR(59),";")	'“;”
	t0=Re(t0,CHR(10)&CHR(10),CHR(10))'把换行替换掉
	t0=Re(t0,CHR(10),"<br>")'换行
	t0=ReplaceText(t0,"([&#])([a-z0-9]*);","$1$2;")

	IF lyq_BadText<>"" Then t0=ReplaceText(t0,"("&lyq_BadText&")",String(Len("&$1&"),"*"))
	'过滤片假名(日文字符)[\u30A0-\u30FF] 
	IF Is_sql Then
		t0=Escape(t0)
		t0=ReplaceText(t0,"%u30([A-F][0-F])","&#x30$1;")
		t0=Unescape(t0)
	End IF
	HTMLEncode=t0
End Function

Function Re(t0,t1,t2)
	IF Isnull(t2) Then t2=""
	Re=Replace(t0,t1,t2)
End Function
Function ReplaceText(t0,t1,t2)
	Set regEx=New RegExp
		regEx.Pattern=t1
		regEx.IgnoreCase=True
		regEx.Global=True
		ReplaceText=regEx.Replace(""&t0&"",""&t2&"")
	Set regEx=nothing
End Function
posted @ 2010-07-03 14:26  WIN8新人  阅读(420)  评论(0编辑  收藏  举报