Изменение значения параметра в URL
Меняем параметр в адресе текущей страницы:
Скопировано
$query = $_GET;
$query['param1'] = 'new_value';
$query_result = http_build_query( $query );
$new_link = '//' . $_SERVER['HTTP_HOST'] . strtok( $_SERVER['REQUEST_URI'], '?' ) . "?$query_result";
Показать код
Если адрес страницы к примеру был https://site.ru?param1=111¶m2=222
, то теперь он будет https://site.ru?param1=new_value¶m2=222
. То есть мы поменяли значение у параметра param1
.
Меняем параметр в URL в виде строки:
Скопировано
$link = 'https://site.ru?param1=111¶m2=222';
$param_name = 'param1';
$value = 'new_value';
$new_link = preg_replace( "/$param_name=[^&]+(.*)/", "$param_name=$value$1", $link );
Показать код
На выходе переменная $new_link
будет равна https://site.ru?param1=new_value¶m2=222
.