이 기사는 URL의 각 부분에 대한 매개변수를 얻기 위한 PHP의 코드 예제입니다. 필요한 친구가 이를 참조할 수 있기를 바랍니다.
URL은 여러 주요 함수인 parse_url,parse_str 및 http_build_query
parse_url()
을 처리합니다. 이 함수는 URL을 구문 분석하고 해당 구성 요소를 반환할 수 있습니다. 다음과 같이 사용됩니다:
arrayparse_url(string $url)
이 함수는 기존 URL의 다양한 구성 요소를 포함하는 연관 배열을 반환합니다. 이러한 구성 요소 중 하나가 누락되면 이 구성 요소에 대한 배열 항목이 생성되지 않습니다. 구성 요소는 다음과 같습니다.
이 기능은 주어진 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 = 'http://username:password@hostname/path?arg=value#anchor'; print_r(parse_url($url)); echo '<br />'; 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['QUERY_STRING']; 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(배열 형식 데이터[, 문자열 숫자_접두사])
배열에 지정된 키가 없습니다. 아니면 추가하세요. 키가 숫자인 경우 첨자
위 내용은 URL의 각 부분에 대한 매개변수를 얻기 위한 PHP의 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!