PHP URL Paramater Parsing - parse_url, parse_str
PHP에서 URI, URL 파라미터 값을 파싱하여 사용하는 방법을 알려드리도록 하겠습니다.
UTM 값을 얻어내는 등 여러곳에 많이 유용하게 사용될 함수라 정리하려고 합니다.
$uri = "https://jsikim1.tistory.com/category/Developer?param1=value1¶m2=value2#id1";
$query = parse_url($uri, PHP_URL_QUERY);
var_dump($query);
parse_str($query, $params);
var_dump($params);
/* *** 출력 ***
string(27) "param1=value1¶m2=value2"
array(2) {
["param1"]=>
string(6) "value1"
["param2"]=>
string(6) "value2"
}
*/
parse_url()의 첫번째 Parameter에 URI를 입력하고, 두번째 Parameter에 "PHP_URL_QUERY" 입력하여 사용하면,
query 부분만 String으로 가져올 수 있습니다.
그리고 그 값을 parse_str()에 첫번째 Parameter로 입력하고, 파싱한 값을 변수명을 두번째 Parameter로 입력하여 사용하면,
파싱된 값을 얻을 수 있습니다.
※ 주의할 점
$uri = "https://jsikim1.tistory.com/category/Developer?param1=value1¶m2=value2¶m2=value3#id1";
$query = parse_url($uri, PHP_URL_QUERY);
var_dump($query);
parse_str($query, $params);
var_dump($params);
/* *** 출력 ***
string(41) "param1=value1¶m2=value2¶m2=value3"
array(2) {
["param1"]=>
string(6) "value1"
["param2"]=>
string(6) "value3"
}
*/
위와 같이 키 값이 같은 Parameter가 2개이상 존재한다면 해당 키값의 값은 뒤에 존재하는 값으로 설정됩니다.
유의하여 사용하시기 바랍니다.
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청사항은 언제든지 말씀해주세요!
피드백도 언제나 환영입니다!
감사합니다.
'Developer > PHP' 카테고리의 다른 글
PHP 디렉토리 안 모든 파일 삭제, 특정 확장자 파일 삭제, 특정 확장자 제외 파일 삭제 (0) | 2021.01.11 |
---|---|
PHP 배열 마지막 요소 구하는 방법 (0) | 2020.10.14 |
PHP 날짜와 날짜 사이 모든 날짜 배열로 구하기 (0) | 2020.10.12 |
[PHP] Allowed memory size of 134217728 bytes exhausted (0) | 2020.10.02 |
[PHP] Maximum execution time of 30 seconds exceeded (0) | 2020.10.01 |
댓글