У меня есть эта функция, которая должна удалить часть строки запроса:
if(!function_exists("remove_querystring_var")) {
function remove_querystring_var($url, $key) {
$url = preg_replace('/(.*)(?|&)' . $key . '=[^&]+?(&)(.*)/i', '$1$2$4', $url . '&');
$url = substr($url, 0, -1);
return ($url);
}
}
У меня есть ссылки ahref:
<a href="link.php?<?php echo $_SERVER["QUERY_STRING"]; ?>">link</a>
но мне нужно уметь удалять ?pagenum=X
(X = номер страницы)
вы могли бы просто
unset($_GET['pagenum']);
а также
<a href="link.php?<?= http_build_query($_GET) ?>">link</a>
Код будет выглядеть следующим образом:
<?php
// $_GET looks like: array('foo'=>'bar','pagenum'=>5,'abc'=>'xyz')
unset($_GET['pagenum']);
// now $_GET looks like: array('foo'=>'bar','abc'=>'xyz')
// so http_build_query($_GET) will look like: foo=bar&abc=xyz
?>
<a href="link.php?<?php echo http_build_query($_GET) ?>">link</a>
parse_str()
+http_build_query()
remove_querystring_var
? Не работа? Что за вопрос здесь?