수색…


소개

PHP를 코딩 할 때 URL을 여러 조각으로 나눌 필요가있는 위치에 자신을 가질 가능성이 큽니다. 필요에 따라 여러 가지 방법이 있습니다. 이 기사에서는 이러한 방식을 설명하여 가장 적합한 방법을 찾을 수 있습니다.

parse_url () 사용하기

parse_url () :이 함수는 URL을 파싱하고 존재하는 URL의 다양한 구성 요소 중 하나를 포함하는 연관 배열을 반환합니다.

$url = parse_url('http://example.com/project/controller/action/param1/param2');

Array
(
    [scheme] => http
    [host] => example.com
    [path] => /project/controller/action/param1/param2
)

분리 된 경로가 필요한 경우 폭발을 사용할 수 있습니다.

$url = parse_url('http://example.com/project/controller/action/param1/param2');
$url['sections'] = explode('/', $url['path']);

Array
(
    [scheme] => http
    [host] => example.com
    [path] => /project/controller/action/param1/param2
    [sections] => Array
        (
            [0] => 
            [1] => project
            [2] => controller
            [3] => action
            [4] => param1
            [5] => param2
        )

)

섹션의 마지막 부분이 필요한 경우 end ()를 다음과 같이 사용할 수 있습니다.

$last = end($url['sections']);

URL에 GET VAR이 포함되어 있으면 해당 URL도 검색 할 수 있습니다.

$url = parse_url('http://example.com?var1=value1&var2=value2');

Array
(
    [scheme] => http
    [host] => example.com
    [query] => var1=value1&var2=value2
)

쿼리 vars를 분석하려면 다음과 같이 parse_str ()을 사용할 수 있습니다.

$url = parse_url('http://example.com?var1=value1&var2=value2');
parse_str($url['query'], $parts);

Array
(
    [var1] => value1
    [var2] => value2
)

explode () 사용하기

explode () : 문자열의 배열을 반환합니다. 각 문자열은 문자열 구분 기호로 형성된 경계에서 문자열을 분할하여 구성된 문자열의 부분 문자열입니다.

이 함수는 꽤 간단합니다.

$url = "http://example.com/project/controller/action/param1/param2";
$parts = explode('/', $url);

Array
(
    [0] => http:
    [1] => 
    [2] => example.com
    [3] => project
    [4] => controller
    [5] => action
    [6] => param1
    [7] => param2
)

다음을 수행하여 URL의 마지막 부분을 검색 할 수 있습니다.

$last = end($parts);
// Output: param2

다음과 같이 수학 연산자와 함께 sizeof ()를 사용하여 배열 내부를 탐색 할 수도 있습니다.

echo $parts[sizeof($parts)-2];
// Output: param1

basename () 사용하기

basename () : 파일이나 디렉토리에 대한 경로를 포함하는 문자열이 있으면이 함수는 후행 이름 구성 요소를 반환합니다.

이 함수는 URL의 마지막 부분 만 반환합니다.

$url = "http://example.com/project/controller/action/param1/param2";
$parts = basename($url);
// Output: param2

URL에 더 많은 요소가 있고 필요한 것이 dirname ()과 함께 사용할 수있는 파일을 포함하는 dir 이름입니다.

$url = "http://example.com/project/controller/action/param1/param2/index.php";
$parts = basename(dirname($url));
// Output: param2


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow