2010-11-20 120 views
0

我有一个URL,其中查询字符串是由PHP脚本生成的。查询字符串中显示各种值。从查询字符串中删除值

基本上,当访问者点击链接或“删除”按钮时,我需要从查询字符串中删除特定值。

因此,查询字符串看起来是这样的:

http://www.foo.com/script.php?bar1=green&bar2=blue 

但是当一个链接或“删除”按钮被用户点击,bar1=green被删除,游客被引导到以下网址:

http://www.foo.com/script.php?bar2=blue 

我认为这将很容易使用基本的HTML与表单或锚,但我迄今还没有能够做到这一点。

就这么你知道,我没有访问PHP脚本本身的代码;它是远程托管的,并通过使用iframe的PHP包装程序调用到我的网页。

任何建议非常感谢。

非常感谢,

马特

+0

根据描述,你将需要访问的PHP代码做你正在尝试做的。你有一个我们可以看到的实际网址吗?它可以帮助我们更好地理解你在找什么。 – 2010-11-20 16:22:26

回答

4

您可以使用此代码的查询字符串删除值:

<?php 
function parseQueryString($url,$remove) { 
    $infos=parse_url($url); 
    $str=$infos["query"]; 
    $op = array(); 
    $pairs = explode("&", $str); 
    foreach ($pairs as $pair) { 
     list($k, $v) = array_map("urldecode", explode("=", $pair)); 
     $op[$k] = $v; 
    } 
    if(isset($op[$remove])){ 
     unset($op[$remove]); 
    } 

    return str_replace($str,http_build_query($op),$url); 

} 
echo parseQueryString("http://www.foo.com/script.php?bar1=green&bar2=blue","bar2"); 
?> 
+0

感谢您的回复。我试过这个,但是我无法使它工作。我认为一个简单的HTML表单按钮比PHP更合适? – Matt 2010-11-20 18:31:11

+0

你需要在你的服务器上有php5 – ynh 2010-11-20 18:33:23

+0

是的,我有PHP5 .. – Matt 2010-11-20 18:35:01