get 변수에서 원하는 값만 바꾸기

제가 만든건데... 음 원하는 값만 바꿀때사용하면 괜찮을 것 같아서 한번 올려 봄니다

$url = http://sir.co.kr/bbs/board.php?bo_table=test&wr_id=10&stx=테스트;

위처럼 저런 변수가 있다고 하고 wr_id 값만 바꾸고 싶다면

$new_url = qstr($url, "wr_id","20");

라고 사용하면 wr_id 값만 바뀌게 됨니다... ^^

function qstr($php_self, $change_key, $change_value)
{
 $arr = array();
 $arr = parse_url($php_self);
 $result = explode("&", $arr[query]);

 $result_str = "";
 for ($i=0; $i<count($result); $i++)
 {
  list($key, $val) = explode("=", $result[$i]);

  if ($key == $change_key)
   $str = "$key=$change_value";
  else
   $str = "$key=$val";

  if ($result_str)
   $str = "&" . $str;
  else
   $str = "?" . $str;

  $result_str .= $str;
 }

 return $arr[url] . $result_str;
}

[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]
|

댓글 2개

유용할것 같기도 한데 홈이네님은 어떤경우에 이 함수를 사용하셨나요?
뭐 알아야 얻어 쓰던가 할텐데요,

그리고 현제 열고 있는 주소줄에 모든 주소를 가저오는 함수는 못보셨지요?
현제 열고 있는 주소줄에 모든 주소를 가져오는 함수를 찾으시는거세요??

$_SERVER[REQUEST_URI] 하면 지금 주소가 나오는데 이거 말씀하시는건지...

전 이거 사용하는곳이 get 변수들이 많을 경우 일일이 다 써 주는 귀차니즘이 싫어서 이렇게하면

get 변수가 많으면 약간 편하게 사용할수가 있더라구요... 그누보드는 common.php 에서 변수가 존재 할때만 qstr 변수에 get 변수들을 담는데... 전 가끔 게시판 튜닝하다 보면 새로운 변수들을

사용할때가 종종 잇어서 그럴때마다 if 문 써서 변수가 있으면 qstr 변수에 담는 것보다 좀 편하게

사용하려구요..

예를 들어 a,b,c,d,e,f,g,h,i 라는 변수가 있다고 하면

$url = 'a=' . urlencode('$a');
$url .= 'b=' . urlencode('$b');
$url .= 'c=' . urlencode('$c');
$url .= 'd=' . urlencode('$d');
$url .= 'e=' . urlencode('$e');
$url .= 'f=' . urlencode('$f');
$url .= 'g=' . urlencode('$g');
$url .= 'h=' . urlencode('$h');
$url .= 'i=' . urlencode('$i');

그냥 이렇게 정의 해놓구요...

<a href="<?=qstr($url,"g", urlencode('1234'))?>">주소</a>

이런식으로 해서 사용하면 편하더라구요... ^^;
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
16년 전 조회 3,204
16년 전 조회 1,353
16년 전 조회 1,376
16년 전 조회 2,038
16년 전 조회 1,883
16년 전 조회 2,560
16년 전 조회 2,231
16년 전 조회 1,360
16년 전 조회 4,381
16년 전 조회 1,479
16년 전 조회 1,783
16년 전 조회 2,208
16년 전 조회 3,841
16년 전 조회 2,735
16년 전 조회 1,489
16년 전 조회 4,013
16년 전 조회 1,394
16년 전 조회 1,577
16년 전 조회 1,246
16년 전 조회 1,718
16년 전 조회 1,617
16년 전 조회 1,631
16년 전 조회 1,420
16년 전 조회 2,176
16년 전 조회 1,818
16년 전 조회 1,973
16년 전 조회 2,184
16년 전 조회 1,470
16년 전 조회 2,308
16년 전 조회 2,257
16년 전 조회 4,532
16년 전 조회 1,294
16년 전 조회 1,051
16년 전 조회 2,009
16년 전 조회 1,979
16년 전 조회 1,508
16년 전 조회 2,036
16년 전 조회 2,275
16년 전 조회 1,389
16년 전 조회 1,730
16년 전 조회 1,923
16년 전 조회 1,009
16년 전 조회 1,688
16년 전 조회 1,407
16년 전 조회 1,910
16년 전 조회 1,326
16년 전 조회 2,206
16년 전 조회 1,891
16년 전 조회 5,871
16년 전 조회 1,918
16년 전 조회 3,686
16년 전 조회 1,465
16년 전 조회 1,755
16년 전 조회 2,071
16년 전 조회 2,611
16년 전 조회 2,310
16년 전 조회 2,750
16년 전 조회 2,992
16년 전 조회 3,016
16년 전 조회 1,821
16년 전 조회 1,541
16년 전 조회 1,413
16년 전 조회 1,725
16년 전 조회 1,207
16년 전 조회 1,967
16년 전 조회 1,736
16년 전 조회 1,612
16년 전 조회 1,300
16년 전 조회 2,171
16년 전 조회 3,231
16년 전 조회 2,165
16년 전 조회 1,743
16년 전 조회 1,511
16년 전 조회 2,045
16년 전 조회 4,728
16년 전 조회 1,415
17년 전 조회 2,152
17년 전 조회 2,132
17년 전 조회 2,405
17년 전 조회 2,151
17년 전 조회 4,433
17년 전 조회 2,934
17년 전 조회 2,867
17년 전 조회 1,601
17년 전 조회 1,242
17년 전 조회 3,947
17년 전 조회 1,617
17년 전 조회 1,613
17년 전 조회 2,112
17년 전 조회 1,882
17년 전 조회 1,496
17년 전 조회 3,919
17년 전 조회 1,759
17년 전 조회 3,130
17년 전 조회 3,010
17년 전 조회 1,042
17년 전 조회 1,850
17년 전 조회 1,591
17년 전 조회 1,853
17년 전 조회 2,643
🐛 버그신고