PHP에서 URL을 처리 할 때는 경로 (Path), 호스트 이름 (호스트), 쿼리 매개 변수 (쿼리) 등과 같은 전체 링크에서 특정 부분을 추출해야합니다. PHP는 내장 기능 Parse_url을 제공 하여이 작업을 매우 쉽게 수행 할 수 있습니다. 이 기사는 parse_url 함수를 사용하여 전체 링크에서 경로 부분을 추출하고 예제와 함께 설명하는 방법에 중점을 둘 것입니다.
Parse_url은 PARSING URL을 위해 PHP에서 제공하는 함수입니다. 프로토콜 (scheme), 호스트 이름 (호스트), 경로 (경로), 쿼리 문자열 (쿼리) 등과 같은 구성 요소에 URL 문자열을 구문 분석합니다.
함수 서명은 다음과 같습니다.
parse_url(string $url, int $component = -1): mixed
$ URL : 구문 분석 URL 문자열.
$ 구성 요소 (선택 사항) :이 매개 변수가 지정된 경우 함수는 지정된 구성 요소 (예 : php_url_path )를 반환합니다. 지정되지 않은 경우 모든 구성 요소를 포함하는 관련 배열.
완전한 링크에서 경로 부분을 추출하려면 parse_url을 호출하고 php_url_path 상수를 두 번째 매개 변수로 전달하십시오.
<?php
$url = "https://gitbox.net/user/profile?id=123";
$path = parse_url($url, PHP_URL_PATH);
echo "경로 부분은입니다: " . $path;
경로 부분은입니다: /user/profile
이 예에서 Parse_url은 프로토콜, 호스트 이름 및 쿼리 매개 변수를 무시하고 /사용자 /프로필 경로 부분 만 반환합니다.
때로는 URL에 명시적인 경로가 없을 수도 있습니다.
$url = "https://gitbox.net";
parse_url을 호출 한 후, 이러한 링크에는 특정 경로가 포함되어 있지 않기 때문에 경로 부분은 Null이 됩니다. 우리는 판단 할 수 있습니다.
<?php
$url = "https://gitbox.net";
$path = parse_url($url, PHP_URL_PATH);
if ($path === null) {
echo "링크에는 경로 부분이 포함되어 있지 않습니다";
} else {
echo "경로 부분은입니다: " . $path;
}
이 기사는 경로 추출에 중점을 두지 만 Parse_url은 URL의 다른 구성 요소를 구문 분석하는 것을 지원하며 때로는 여러 정보를 한 번에 가져올 수 있습니다.
<?php
$url = "https://gitbox.net/user/profile?id=123&ref=homepage";
$parsed = parse_url($url);
echo "규약: " . $parsed['scheme'] . PHP_EOL;
echo "주인: " . $parsed['host'] . PHP_EOL;
echo "길: " . $parsed['path'] . PHP_EOL;
echo "질문: " . $parsed['query'] . PHP_EOL;
산출:
규약: https
주인: gitbox.net
길: /user/profile
질문: id=123&ref=homepage
parse_url 은 매우 실용적인 도구 기능입니다. 특히 링크에서 경로 나 다른 정보를 추출 해야하는 시나리오에서. 이 기능을 합리적으로 사용하면 URL 문자열의 구문 분석 논리를 크게 단순화 할 수 있습니다. 라우팅 시스템 구축, 점프 링크 분석 및 로그 정보 생성과 같은 실제 프로젝트 개발에서는 모두 중요한 역할을 할 수 있습니다.
Parse_url 의 사용을 마스터하면 URL을 처리하는 데 PHP 프로그램이 더욱 강력하고 유연해질 수 있습니다.