많은 변수, 즉 값이있는 변수에 따라 항목을 나열하는 페이지가 있습니다. 지금까지 너무 좋아php querystring에서 하나의 변수 값 쌍을 제거합니다.
listitems.php?color=green&size=small&cat=pants&pagenum=1&edit=1
:
목록의 편집을 활성화하려면
listitems.php?color=green&size=small&cat=pants&pagenum=1
등, 내가 줄 위의 쿼리 문자열에 추가되는 매개 변수 편집 = 1이있다.
사용자가 편집을 마쳤 으면 편집 모드를 종료하는 링크가 있습니다. 이 링크가 전체 쿼리 문자열을 지정하기를 원합니다 - 사용자 선택에 따라 달라질 수 있습니다 - edit=1
을 제외하고는
변수가 몇 개 밖에 없지만 링크에 수동으로 나열했지만 지금은 더 많아서 프로그래밍 방식으로 edit=1
을 제거 할 수 있기를 바랍니다.
edit = 1에 대한 검색을 수행하고 그 다음 아무 것도 대체하지 않아야합니까?
$qs = str_replace("&edit=1, "", $_SERVER['QUERY_STRING']);
<a href='{$_SERVER['PHP_SELF']}?{$qs}'>return</a>;
또는 가장 오류가없는 가장 확실한 방법은 무엇입니까?
참고 : 페이지에서 페이지로 이동하여 pagenum을 꺼내 다른 것으로 바꾸려면 비슷한 상황이 발생합니다. 거기에서, pagenum이 다양하기 때문에, 나는 단지 pagenum=1
를 검색 할 수는 없지만 차이가 있다면 pagenum =$pagenum
을 검색해야 할 것이다.
사용처럼
http_build_query()
를 통해 불필요한 부분을 제거, 쿼리 문자열을 구문 분석parse_str()
를 사용하고 새로운 하나를 구축 할 수 있습니다'parse_str' 당신이 정상적으로 작동 할 수있는 배열로 돌려하고 그것을 다시 쿼리 문자열로 바꾸는'http_build_query'. –