我的网站上有一个 PHP 函数,如下:
$url = $_SERVER["REQUEST_URI"];
$x = $url;
$parsed = parse_url($x);
$query = $parsed['query'];
parse_str($query, $params);
unset($params['page']);
$string = http_build_query($params);
从当前 URL 中删除“page”参数。
但是我现在需要做的是用 javascript 编写相同的函数,以便在 onclick 中使用。我经过搜索并提出了以下解决方案:
$('#localtab').click(function() {
return location.href=location.href.replace(/&?page=([^&]$|[^&]*)/i, "");
});
这是有效的,但由于这是我第一次编写正则表达式,我是否以最佳方式重新加载此页面?我不想冒险删除任何其他参数,尽管没有其他参数包含短语“页面”。
例如,是否最好首先检查 URL 中是否存在页面参数(因为有时实际上并不存在)以及如何执行此操作? 谢谢。
最佳答案
问题是 RegExp 应该用于模式。并且只有当模式匹配时它才会起作用。不,您不需要在清除page
之前检查它是否存在。
关于javascript - 采用 unset() 并在 javascript 中重写此函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29135657/