Tak jsem se rozhodl přidat další kategorii, občas se mi podaří napsat nějakou funkci se kterou bych se mohl pochlubit. Takže tady je jedna z nich, umí zparsovat querystring a vrátit pole s dvojicemi jmeno, hodnota.
Komentáře a kritika jsou vítány
'********************************
' FUNCTION: ParseQueryStringToArray
' ORIGINAL AUTHOR: Jiri Hernik
' CREATION DATE: 08/25/04
' DESCRIPTION: Parses Querystring and returns 2d array with name, value
' PARAMETERS: strQueryString - query string (or part of it)
' arrQueryString - output parameter with array
' arrQueryString FORMAT:
' 0 - Key Name
' 1 - Value
' RETURNS: 0 when OK
'********************************
Function ParseQueryStringToArray(ByVal strQueryString, ByRef arrQueryString) 'as Long
Const IX_KEY = 0
Const IX_VALUE = 1
Const RETURN_CODE_UNKNOWNERROR = -1000
Const RETURN_CODE_SUCCESS = 0
Dim objRegExp, colMatches, objMatch, lngCount
ParseQueryStringToArray = RETURN_CODE_UNKNOWNERROR
Set objRegExp = New RegExp
objRegExp.Pattern = "(?:\?|&)(\w*)(?:=)([a-z0-9_\-%]*)"
objRegExp.IgnoreCase = True
objRegExp.Global = True
Set colMatches = objRegExp.Execute(strQueryString)
ReDim arrQueryString(2, colMatches.Count)
lngCount = 0
For Each objMatch In colMatches
If objMatch.SubMatches.Count = 2 Then
arrQueryString(IX_KEY, lngCount) = objMatch.SubMatches(IX_KEY)
arrQueryString(IX_VALUE, lngCount) = objMatch.SubMatches(IX_VALUE)
lngCount = lngCount + 1
End If
Next 'objMatch
Redim Preserve arrQueryString(1, lngCount - 1)
Set objMatch = Nothing
Set colMatches = Nothing
Set objRegExp = Nothing
ParseQueryStringToArray = RETURN_CODE_SUCCESS
End Function
Parse querystring
Srpen 26th, 2004 · Zatím nejsou komentáře · Programování
Kup si reklamu navždy pod tímto článkem jen za 140 Kč
Zobrazit formulář pro nákup
Tagy:
Napiš první komentář! ↓
Zatím tu není žádný komentář... Odstartuj to vyplněním formuláře níže.