Работа с $_GET

vanderv

Старатель
Регистрация
30 Май 2009
Сообщения
270
Реакции
12
Пишу небольшой плагин.
настройки передаю через GET.
Пример:
site.ru?id=1,2,3,4&text=bla и тд
Вопрос:
как мне заменить id=1,2,3,4 на id=1,2 при этом не тронув остальные переменные? Ну и потом этот адрес я вставляю в ссылку.
 
Покажи код собирающий ссылки.
 
К примеру можно так:
PHP:
$var = 'site.ru?id=1,2,3,4&text=bla';

$var = preg_replace('#id=1,2,3,4#iU', 'id=1,2', $var);

echo $var // отобразит: site.ru?id=1,2&text=bla

А вообще все зависит от познаний в PHP и фантазии, способов много.
 
Вот написал функцию. Теперь чтобы получить правильной запрос, надо передать в эту функцию новый запрос.
PHP:
foreach($_GET as $key=>$value){
	$queryGet[$key]=$value;
}
function deleteQuery($q){																
	global $queryGet;
	$temporarilyQueryGet = $queryGet;
	unset($temporarilyQueryGet[$q]);
	return $temporarilyQueryGet;
}
function initQuery($add){																
	global $queryGet;
	$nameQuery = explode('=',$add);
	$temporarilyQueryGet = deleteQuery($nameQuery[0]);
	$rtr = '?';
	if(is_array($temporarilyQueryGet))
		foreach($temporarilyQueryGet as $key=>$value){
			$rtr .= $key.'='.$value.'&';
		}
	$rtr .= $add;
	return $rtr;
}
Пример:
<a href="initQuery('newQuery=1')">link</a> если в GET есть такая переменная, то она заменится.

Добавлено через 4 минуты
К примеру можно так:
PHP:
$var = 'site.ru?id=1,2,3,4&text=bla';
$var = preg_replace('#id=1,2,3,4#iU', 'id=1,2', $var);
echo $var // отобразит: site.ru?id=1,2&text=bla
А вообще все зависит от познаний в PHP и фантазии, способов много.
пробывал - как-то очень коряво все у меня получалось: появлялись 2 и более запятых.
 
Зачем делать так:
PHP:
foreach($_GET as $key=>$value){
	$queryGet[$key]=$value;
}
Когда можно так:
PHP:
$queryGet = $_GET;
?:)
 
Назад
Сверху