从查询字符串中删除值

时间:2010-11-20 16:05:36

标签: php html xhtml

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

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

因此,查询字符串如下所示:

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

但是,当用户点击链接或“删除”按钮时,系统会移除bar1=green,并将访问者定向到以下网址:

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

我认为使用带有表单或锚点的基本HTML会很容易,但到目前为止我还没能做到。

您知道,我无法访问PHP脚本本身的代码;它是远程托管的,并由PHP包装器使用iframe调用到我的网页。

任何建议都非常感谢。

非常感谢,

马特

2 个答案:

答案 0 :(得分: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");
?>

答案 1 :(得分:0)