Coding Cookbook/Change Query Parameter
Appearance
Change parameters in an URL querystring (for example "param1=foo¶m2=bar").
VBScript solution
[edit | edit source]function ChangeQueryParameter (Query, Parameter, Value) dim sTemp dim SubstringStart ' Starting position of Parameter within Query dim SubstringEnd ' Ending position of Parameter within Query if (Query = "") then ChangeQueryParameter = "" else sTemp = "&" & Query ' Let every parameter start with '&' SubstringStart = InStr (LCase(sTemp), "&" & LCase(Parameter) & "=") if (SubstringStart = 0) then ' Parameter was not yet included ChangeQueryParameter = sTemp else ' Parameter already existed ChangeQueryParameter = Left (sTemp, SubstringStart-1) SubstringEnd = InStr (SubstringStart+1, sTemp, "&") if not (SubstringEnd = 0) then ' Parameter was not last in query ChangeQueryParameter = ChangeQueryParameter & Mid(sTemp, SubstringEnd) end if end if end if if not (Value = "") then _ ChangeQueryParameter = ChangeQueryParameter & "&" & Parameter & "=" & Value ' If an empty value has been giving, the parameter will be removed if not (ChangeQueryParameter = "") then _ ChangeQueryParameter = Mid(ChangeQueryParameter, 2) end function strQuery = "param1=foo¶m2=bar" strQuery = ChangeQueryParameter( strQuery, "param1", "foobar" ) ' Result: "param1=foobar¶m2=bar" strQuery = ChangeQueryParameter( strQuery, "param1", "" ) ' Result: "param2=bar"