>  기사  >  백엔드 개발  >  php는 URL의 각 부분에 대한 매개변수를 가져옵니다.

php는 URL의 각 부분에 대한 매개변수를 가져옵니다.

little bottle
little bottle앞으로
2019-04-16 11:12:3510459검색

url은 인터넷에서 얻을 수 있는 리소스의 위치와 액세스 방법을 간결하게 표현한 인터넷상의 표준 리소스 주소입니다. 이 글에서는 PHP 함수를 사용하여 URL 각 부분의 매개변수를 얻는 방법을 소개합니다.

parse_url()

이 함수는 URL을 구문 분석하고 해당 구성 요소를 반환할 수 있습니다. 다음과 같이 사용됩니다.

array parse_url(string $url)

이 함수는 기존 URL의 다양한 구성 요소를 포함하는 연관 배열을 반환합니다. 이러한 구성 요소 중 하나가 누락되면 이 구성 요소에 대한 배열 항목이 생성되지 않습니다. 구성 요소는 다음과 같습니다.

  • scheme - 예: http
  • host - 예: localhost
  • port - 예: 80
  • user
  • pass
  • path - 예: /parse_str.php
  • query - 물음표 뒤 ? 예: id=1&category =php&title=php-install
  • fragment - 해시 기호 뒤에 #

이 기능은 주어진 URL이 유효하다는 것을 의미하지 않으며 단지 위 목록의 부분을 구분합니다. parse_url()은 불완전한 URL을 받아들이고 이를 올바르게 구문 분석하려고 시도합니다. 이 함수는 상대 경로 URL에는 영향을 미치지 않습니다.

<?php
    $url = "http://52php.cnblogs.com/welcome/";
    $parts = parse_url($url);
     
    print_r($parts);
?>

프로그램 실행 결과는 다음과 같습니다.

Array
(
    [scheme] => http
    [host] => 52php.cnblogs.com 
    [path] => /welcome/
)
<?php
    $url = &#39;http://username:password@hostname/path?arg=value#anchor&#39;;
    print_r(parse_url($url));
    echo &#39;<br />&#39;;
    echo parse_url($url, PHP_URL_PATH);
?>


프로그램 출력:

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


보시다시피 URL의 여러 부분을 분해하는 것도 쉽고 아주 쉽습니다.

echo parse_url($url, PHP_URL_PATH);


와 같이 지정된 부분을 추출하는 것은 두 번째 매개변수에 PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY 또는 PHP_URL_FRAGMENT를 설정하는 것입니다.


parse_str()

parse_str은 URL의 쿼리 문자열, 즉 우리가 요청하는 URL이 http:/인 경우 $_SERVER['QUERY_STRING']을 통해 얻을 수 있는 문자열 값을 구문 분석하는 데 사용됩니다. /localhost/parse_str .php?id=1&category=php&title=php-install, $_SERVER['QUERY_STRING']에서 반환된 값은 id=1&category=php&title=php-install이며 이 형식의 문자열은 구문 분석될 수 있습니다. pars_str 형식을 사용하여 연관 배열로 변환합니다.

사용법은 다음과 같습니다:

void parse_str(string $str [, array &$arr ])

이 함수는 두 개의 매개변수를 받습니다. $str은 구문 분석해야 하는 문자열이고 선택적 매개변수 $arr가 생성됩니다. 파싱 ​​후 배열 값에 저장된 변수 이름. 선택적 매개변수를 무시하면 $id, $category, $title 등의 변수를 직접 호출할 수 있습니다. 아래 스크립트는 GET 요청을 시뮬레이션합니다.

<?php
<a href="http://localhost/parse_str.php?id=1&category=php&title=php-install">Click Here</a>
$query_str = $_SERVER[&#39;QUERY_STRING&#39;];
parse_str($query_str); /* 这种方式可以直接使用变量$id, $category, $title */
parse_str($query_str, $query_arr);
?>
<pre class="brush:php;toolbar:false"><?php print_r($query_arr); ?>

?> /* 运行结果 */ Array ( [id] => 1 [category] => php [title] => php-install ) 1 php php-install

http_build_query배열을 URL로 변환하는 것인가요? 다음 매개변수 문자열은 자동으로 urlencoded됩니다.

string http_build_query (배열 형식 데이터 [, 문자열 숫자_접두사])

다음 매개변수 문자열은 배열 키 또는 키가 숫자인 경우 아래 첨자를 추가하세요

[추천 과정: PHP 비디오 튜토리얼]

위 내용은 php는 URL의 각 부분에 대한 매개변수를 가져옵니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제