2010-11-20 11 views
0

PHP 스크립트에서 쿼리 문자열을 생성하는 URL이 있습니다. 쿼리 문자열에는 다양한 값이 표시됩니다.쿼리 문자열에서 값 제거

기본적으로 방문자가 링크 또는 '제거'버튼을 클릭하면 쿼리 문자열에서 특정 값을 제거해야합니다.

따라서, 쿼리 문자열은 다음과 같습니다 : 링크 또는 '제거'버튼을 사용자가 클릭하면, bar1=green 제거

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

그러나, 및 방문자는 다음 URL에 관한 것이다 :

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

기본 HTML을 양식 또는 앵커와 함께 사용하는 것이 쉬울 것이라고 생각했지만 지금까지 할 수 없었습니다.

PHP 스크립트 자체의 코드에는 액세스 할 수 없습니다. 그것은 원격으로 호스팅되며 iframe을 사용하여 PHP 래퍼에 의해 내 웹 페이지에 호출됩니다.

모든 의견을 매우 높이 평가합니다.

많은 감사,

매트

+0

, 당신은 당신이 무엇을하려고 할 PHP 코드에 액세스 할 수 있어야합니다. 우리가 볼 수있는 실제 URL이 있습니까? 귀하가 찾고있는 것을 더 잘 이해하는 데 도움이 될 수 있습니다. –

답변

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

+0

귀하의 서버에 php5가 있어야합니다. – ynh

+0

예 PHP5가 있습니다. – Matt