function _goBack($msg=null,$get=array()) {
$url = $_SESSION['BACKURL'];
if($get!=array())
for
each ($get as $k=>$g){
$url.='&'.$k.'='.$g;//先追加所有要追加的参数,不管
是否重复
if(count(
explode("&{$k}=",$url))>2){//假如以"&a="这种格式分割目前url字符串发现有超过两个的分割数组,即
表明该字符串有重复参数
$url=
PReg_replace("/{$k}=[a-zA-Z0-9]*&/",'',$url);//正则替换所有"&a=x"为空
}
}
unset($_SESSION['BACKURL']);
$this->alert($msg,$url);
}
另外解释一下,为什么这样就可以去除重复,原理很简单,http://jb51.net?a=1&a=2被替换”&a=x”格式字符的时候最后一个正好不会被删除,要知道我们循环中每次我们都是把新参数放在最后面的。