PHP 파라메터 문자열 제어 : Parameter QueryString Controller
“ PHP Parameter QueryString Controller ”
PHP 5.3 에서 사용한 소스입니다.
URL 을 넘겨받아 온 파라메터 값을 원하는 형태로 간결하게 제어하는 함수입니다.
똑같은 파라메터를 전달하고 필요한 파라메터만 전달해야 할 경우 주로 사용하게 됩니다.
게시판을 예를들어 목록페이지에서 글보기를 클릭하여 이동후 다시 목록으로 돌아갈때, 필요한 파라메터만 가지고 이동할때 유용합니다.
파라메터를 임의적으로 문자열 변경하기
# 소스
/** @class Commons ver 1.0 @brief PHP Commons * registered date 2014-01-23 * programmed by Seok Kyun. Choi. 최석균 * http://syaku.tistory.com */ /** * Request QueryString 을 이용하여 임의의 문자열을 변형함 * * @param string 조합할 QueryString * @param string 시작 문자열 지정 (? or &) * @param string 메소드 지정 * @return string */ function _param_get($query,$char = NULL,$method = 'GET') { $parameter = ($method == 'GET') ? $_GET: $_POST; $ret = array(); $output = array(); if ( !empty($query) ) { parse_str($query,$output); foreach(array_keys($output) as $key){ if ( !empty($output[$key]) ) { $ret[$key] = $output[$key]; } else { unset($parameter[$key]); } } } $param = http_build_query(array_merge($parameter, $ret)); if ( $char != NULL && !empty($param) ) { $param = $char . $param; } return $param; }
# 사용 예제
** URL 정보는 예제로 사용하기 위해 임의적으로 부여하였습니다.
- 현재 페이지의 URL 정보 : http://syaku.tistory.com/index.php?prodid=S10000846247&siteid=SW&pcate=&order=1
1) 현재 파라메터를 가져오기
echo _param_get();
결과 prodid=S10000846247&siteid=SW&pcate=&order=1
2) prodid 값을 syaku 변경
echo _param_get('&prodid=syaku');
결과 prodid=syaku&siteid=SW&pcate=&order=1
3) prodid 값을 제거하고 pcate 값을 50 으로 변경
echo _param_get('&prodid=&pcate=50');
결과 siteid=SW&pcate=50&order=1
파라메터를 원하는 문자열만 가져오기
# 소스
/** @class Commons ver 1.0 @brief PHP Commons * registered date 2014-01-23 * programmed by Seok Kyun. Choi. 최석균 * http://syaku.tistory.com */ /** * Request QueryString 에서 필요한 문자열만 추출 * * @param string 조합할 QueryString * @param string 시작 문자열 지정 (? or &) * @param string 메소드 지정 * @return string */ function _param_pick($query,$char = NULL,$method = 'GET') { if ( empty($query) ) return NULL; $parameter = ($method == 'GET') ? $_GET: $_POST; $ret = array(); $output = array(); parse_str($query,$output); foreach(array_keys($output) as $key){ if ( !empty($output[$key]) ) { $ret[$key] = $output[$key]; } else { $is = array_key_exists ($key, $parameter); if ($is) { $ret[$key] = $parameter[$key]; } } } $param = http_build_query($ret); if ( $char != NULL && !empty($param) ) { $param = $char . $param; } return $param; }
# 사용 예제
** URL 정보는 예제로 사용하기 위해 임의적으로 부여하였습니다.
- 현재 페이지의 URL 정보 : http://syaku.tistory.com/index.php?prodid=S10000846247&siteid=SW&pcate=&order=1
1) siteid 값 가져오기
echo _param_pick('&siteid=');
결과 siteid=SW
2) prodid 값을 syaku 변경하고 order 값 가져오기
echo _param_pick('&prodid=syaku&order=');
결과 prodid=syaku&order=1
'개발노트 > PHP' 카테고리의 다른 글
PHP Framework MEI (0) | 2014.06.10 |
---|---|
PHP 문법 정리 : 자주 사용하는 PHP (0) | 2014.05.23 |
PHP 배열 조합 함수 : jQuery extend for PHP (0) | 2014.04.11 |
PHP json2xml 사용법 및 XE 로그인연동 : json2xml , XpressEngine (0) | 2010.10.12 |