>  기사  >  백엔드 개발  >  PHP에서 URL을 배열로 변환하는 방법

PHP에서 URL을 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-26 14:26:47915검색

PHP에서는 페이지에 대한 정보를 얻을 수 있도록 URL을 유용한 배열로 변환해야 하는 경우가 있습니다. 이번 글에서는 PHP 함수를 사용하여 URL을 배열로 변환하는 방법을 알아 보겠습니다.

URL을 배열로 변환하려면 PHP에서 parse_url() 함수와 parse_str() 함수를 사용해야 합니다. Parse_url() 함수는 URL을 여러 부분으로 나누고,parse_str() 함수는 쿼리 문자열을 나누어 연관 배열로 변환합니다.

먼저, parse_url() 함수의 구문을 살펴보겠습니다.

parse_url($url, $component);

이 구문에서 $url 매개변수는 분해할 URL이고, $comComponent 매개변수는 반환할 URL 구성요소입니다. $comComponent 매개변수는 선택사항이며 다음 중 하나일 수 있습니다.

  • PHP_URL_SCHEME - 프로토콜(예: http, https 등)
  • PHP_URL_HOST - 도메인 이름 또는 IP 주소
  • PHP_URL_PORT - 포트 번호
  • PHP_URL_USER - 사용자 이름
  • PHP_URL_PASS - 비밀번호
  • PHP_URL_PATH - URL 경로
  • PHP_URL_QUERY - 쿼리 문자열
  • PHP_URL_FRAGMENT - 조각 식별자

$comComponent 매개변수가 지정되지 않은 경우, parse_url() 함수는 URL의 모든 부분을 포함하는 연관 배열을 반환합니다. .

다음은 구문 분석기() 함수를 사용하여 URL을 구성 요소 부분으로 나누는 방법을 보여주는 샘플 코드입니다.

$url = "http://www.example.com/index.php?id=1&name=john#about";
$url_parts = parse_url($url);

echo "<pre class="brush:php;toolbar:false">";
print_r($url_parts);
echo "
";

위 코드는 다음 출력을 생성합니다.

Array
(
    [scheme] => http
    [host] => www.example.com
    [path] => /index.php
    [query] => id=1&name=john
    [fragment] => about
)

다음으로 다음을 사용하여 쿼리 문자열을 변환합니다. parse_str() 함수는 연관 배열입니다. parse_str() 함수의 구문은 다음과 같습니다.

parse_str($query, $result);

이 구문에서 $query 매개변수는 분해할 쿼리 문자열이고, $result 매개변수는 변환된 쿼리 문자열을 저장하기 위한 연관 배열입니다.

다음은 구문 분석기(parse_str) 함수를 사용하여 쿼리 문자열을 연관 배열로 변환하는 방법을 보여주는 샘플 코드입니다.

$url = "http://www.example.com/index.php?id=1&name=john#about";
$url_parts = parse_url($url);
parse_str($url_parts['query'], $query);

echo "<pre class="brush:php;toolbar:false">";
print_r($query);
echo "
";

위 코드는 다음 출력을 생성합니다.

Array
(
    [id] => 1
    [name] => john
)

마지막으로 구문 분석 URL()을 사용합니다. 함수 및 parse_str() 이 함수는 URL을 URL과 쿼리 문자열의 모든 구성 요소를 포함하는 연관 배열로 변환합니다.

다음은 URL을 배열로 변환하는 샘플 코드입니다.

$url = "http://www.example.com/index.php?id=1&name=john#about";
$url_parts = parse_url($url);
parse_str($url_parts['query'], $query);
$result = array(
    'scheme' => $url_parts['scheme'],
    'host' => $url_parts['host'],
    'port' => $url_parts['port'],
    'user' => $url_parts['user'],
    'pass' => $url_parts['pass'],
    'path' => $url_parts['path'],
    'query' => $url_parts['query'],
    'fragment' => $url_parts['fragment'],
    'query_array' => $query
);

echo "<pre class="brush:php;toolbar:false">";
print_r($result);
echo "
";

위 코드는 다음과 같은 출력을 생성합니다.

Array
(
    [scheme] => http
    [host] => www.example.com
    [port] =>
    [user] =>
    [pass] =>
    [path] => /index.php
    [query] => id=1&name=john
    [fragment] => about
    [query_array] => Array
        (
            [id] => 1
            [name] => john
        )

)

이제 URL을 URL의 모든 구성 요소를 포함하는 연관 배열로 성공적으로 변환했습니다. 그리고 쿼리 문자열!

요약:

PHP에서는 parse_url() 함수와 parse_str() 함수를 사용하여 URL을 배열로 쉽게 변환할 수 있습니다. 이 방법은 URL에서 필요한 정보를 추출할 수 있으므로 매우 유용합니다. 변환된 배열을 사용하여 사이트맵 생성이나 유용한 SEO 정보 추출과 같은 다양한 작업을 수행할 수 있습니다.

위 내용은 PHP에서 URL을 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.