URLDecode
For some reason, Microsoft did not include a URL decode function with Active Server Pages. Most likely, this was because the decoding of querystring variables is done automatically for you when you access the querystring object: 
' -----------------------------------------
' URL decode to retrieve the original value
Function URLDecode(sConvert)
    Dim aSplit
    Dim sOutput
    Dim I
    If IsNull(sConvert) Then
       URLDecode = ""
       Exit Function
    End If
 
    ' convert all pluses to spaces
    sOutput = REPLACE(sConvert, "+", " ")
 
    ' next convert %hexdigits to the character
    aSplit = Split(sOutput, "%")
 
    If IsArray(aSplit) Then
      sOutput = aSplit(0)
      For I = 0 to UBound(aSplit) - 1
        sOutput = sOutput & _
          Chr("&H" & Left(aSplit(i + 1), 2)) &_
          Right(aSplit(i + 1), Len(aSplit(i + 1)) - 2)
      Next
    End If
 
    URLDecode = sOutput
End Function
Server.HTMLEncode
This useful built-in function is very useful for encoding text that should be displayed in a form input. By "form input" we mean a web form control such as a text input, select or textarea control. 
You may have noticed that certain characters cause the HTML on your web form to be interpretted incorrectly. Specifically, the HTML tag characters "<" and ">" can have this effect as well as the quote character (") which is used to encapsulate values. 
Server.HTMLEncode(sValue) 
HTMLDecode
Just like with the URLDecode function described previously, Microsoft, in its infinite wisdom decided not to include an HTMLDecode function with their Server component. It is a relatively simple matter to decode this test data (although I haven't had a need to do this so far.) For completeness sake, here is an HTMLDecode function you may use: 
Function HTMLDecode(sText)
    Dim I
    sText = Replace(sText, """, Chr(34))
    sText = Replace(sText, "<"  , Chr(60))
    sText = Replace(sText, ">"  , Chr(62))
    sText = Replace(sText, "&" , Chr(38))
    sText = Replace(sText, " ", Chr(32))
    For I = 1 to 255
        sText = Replace(sText, "" & I & ";", Chr(I))
    Next
    HTMLDecode = sText
End Function
Thursday, February 5, 2009
Subscribe to:
Post Comments (Atom)
<--nothing-->
 
0 comments:
Post a Comment