http_build_query
rawurldecode
URL 함수 목록
PHP Manual

# parse_url

(PHP 4, PHP 5)

parse_url — URL을 해석해서 구성요소를 반환

### 설명

mixed parse_url ( string `$url` [, int `$component` ] )

이 함수는 URL을 해석하고, URL에 존재하는 다양한 구성요소를 가진 연관 배열을 반환합니다.

이 함수는 주어진 URL의 유효성을 검증하는 것이 아니라, 아래 목록에 있는 부분으로 나누는 일만 합니다. 부분적인 URL도 허용되고, parse_url()은 최대한 적절하게 해석하도록 시도합니다.

### 인수

`url`

  해석할 URL. 유효하지 않은 문자는 _로 대체합니다.

`component`

  `PHP_URL_SCHEME`, `PHP_URL_HOST`, `PHP_URL_PORT`, `PHP_URL_USER`, `PHP_URL_PASS`, `PHP_URL_PATH`, `PHP_URL_QUERY`, `PHP_URL_FRAGMENT` 중 하나로 지정하여, 지정한 URL 부분을 string으로 얻습니다.

### 반환값

매우 이상한 URL에 대해서는, parse_url()이 `FALSE`를 반환하고, `E_WARNING`을 반환할 수 있습니다. 그 외에는 (최소한 하나의) 아래 구성요소를 가지는 연관 배열을 반환합니다:

- scheme - 예. http
- host
- port
- user
- pass
- path
- query - 물음표 ? 뒤
- fragment - 해시마크 # 뒤

`component` 인수를 지정하면, array 대신 string을 반환합니다.

### 변경점

버전 | 설명
--- | ---
5.1.2 | `component` 인수 추가

### 예제

Example #1 parse_url() 예제

`<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>`

위 예제의 출력:

    Array
    (
        [scheme] => http
        [host] => hostname
        [user] => username
        [pass] => password
        [path] => /path
        [query] => arg=value
        [fragment] => anchor
    )
    /path

### 주의

> Note: 이 함수는 상대 URL에는 작동하지 않습니다.

> Note: 이 함수는 URI가 아닌, URL을 해석하는 목적으로 만들어졌습니다. 그러나, PHP 하위 호환에 따라서 세개의 슬래시가 나오는 file:/// 스킴(file:///...)을 허용합니다. 다른 종류의 이러한 스킴은 유효하지 않습니다.

### 참고

- pathinfo() - Returns information about a file path
- parse_str() - 문자열을 변수로 해석
- http_build_query() - URL 인코드한 쿼리 문자열 생성
- dirname() - Returns directory name component of path
- basename() - Returns filename component of path

http_build_query
rawurldecode
URL 함수 목록
PHP Manual