我正在使用此函数从url中删除一些变量:
function removeqsvar($url, $varname) {
return preg_replace('/([?&])'.$varname.'=[^&]+(&|$)/','$1',$url);
}
当使用变量数组时,函数不起作用,我需要能够为函数提供变量数组。我怎么能这样做?
答案 0 :(得分:1)
function removeqsvar($url, $varname) {
if (is_array($url)) {
$r = array();
foreach ($url as $u) {
array_push($r, preg_replace('/([?&])'.$varname.'=[^&]+(&|$)/','$1',$u));
}
return $r;
}
else {
return preg_replace('/([?&])'.$varname.'=[^&]+(&|$)/','$1',$url);
}
}
答案 1 :(得分:0)
假设它不是一个多维数组,这应该有效:
function removeqsvar($array, $varname){
foreach($array as $key => $val){
$array[$key] = preg_replace('/([?&])'.$varname.'=[^&]+(&|$)/','$1', $val);
}
return $array;
}