Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change single variable value in querystring [closed]

I am given a page url like 'http://abc.com/test.php?a=1&b=2&c=3'. Now I have been told to change the value of b to 5 so that it becomes 'http://abc.com/test.php?a=1&b=5&c=3'.

i.e change from http://abc.com/test.php?a=1&b=2&c=3 to http://abc.com/test.php?a=1&b=5&c=3

Note: variable b here can refer to any name.

like image 357
KoolKabin Avatar asked Oct 27 '10 21:10

KoolKabin


1 Answers

Use

  • parse_url() to extract the query string from the URL

  • parse_str() to split the query string into an array

  • array_merge() to add a new array "b" => 5

  • http_build_query() to re-build a query string

  • The remaining parts from the first step (protocol, host, path...) to re-build the full URL or - if you have the HTTP pecl extension - a http_build_url() with HTTP_URL_JOIN_QUERY will alleviate much of the work.

like image 181
Pekka Avatar answered Oct 13 '22 08:10

Pekka