我有这个网址 /index.php?color=blue&size=xl
为了摆脱 get 参数,我使用以下代码:
$done = preg_replace('/(.*)(\?|&)color=[^&]*(?(1)&|)?/i', "$1", $url);
echo $done;
"output: index.phpsize=xl"
现在我也需要清理“尺寸”部分。已尝试使用两行 preg_replace,但它不起作用。
$done = preg_replace('/(.*)(\?|&)color=[^&]*(?(1)&|)?/i', "$1", $url);
echo $done;
$done2 = preg_replace('/(.*)(\?|&)size=[^&]*(?(1)&|)?/i', "$1", $done);
编辑:我真的需要一个解决方案,我可以清理确切的参数“颜色”或“大小”。
有时我只会删除其中一个。
Edit2:有这个解决方案:
// Url is: index.php?color=black&size=xl&price=20
function removeqsvar($url, $varname) {
return preg_replace('/([?&])'.$varname.'=[^&]+(&|$)/','$1',$url);
}
$url = removeqsvar($url, color);
echo removeqsvar($url, price);
// will output: index.php?size=xl
谢谢你们。