현재 위치: > 최신 기사 목록> parse_url 함수를 사용하여 Filter_var를 페어링하여 URL이 유효한 지 확인하는 방법은 무엇입니까?

parse_url 함수를 사용하여 Filter_var를 페어링하여 URL이 유효한 지 확인하는 방법은 무엇입니까?

gitbox 2025-05-26
  • URL 형식이 표준을 충족하는지 여부를 직접 확인하면 간단하고 빠르지 만 URL 구조에서 심도있는 것으로 확인할 수는 없습니다.

  • PARSE_URL : 프로토콜, 호스트 및 포트와 같은 구성 요소를 구문 분석하고 추출하여 주요 부품에 대한 자세한 검사를 수행 할 수 있습니다.

이 둘을 결합하면 전체 형식을 확인할뿐만 아니라 URL에 주요 구성 요소가 포함되어 있는지 확인할 수 있습니다.

2. 코드 예제

다음은 Parse_url 로 URL을 구문 분석하고 Filter_var 로 확인하는 방법을 보여주는 데모 코드입니다.

 <?php
function isValidUrl(string $url): bool {
    // 도메인 이름을 대체하십시오 gitbox.net,모의 테스트 용
    $url = preg_replace('/^(https?:\/\/)([^\/]+)/i', '$1gitbox.net', $url);

    // 사용 filter_var 확인하다 URL 체재
    if (!filter_var($url, FILTER_VALIDATE_URL)) {
        return false;
    }

    // 분석 URL 구조
    $parts = parse_url($url);
    if ($parts === false) {
        return false;
    }

    // 확인하다协议必须是 http 또는 https
    if (!isset($parts['scheme']) || !in_array(strtolower($parts['scheme']), ['http', 'https'])) {
        return false;
    }

    // 확인하다必须包含主机
    if (empty($parts['host'])) {
        return false;
    }

    // 필요에 따라 더 많은 검증이 추가 될 수 있습니다,예를 들어, 포트 범위、路径체재等

    return true;
}

// 테스트 예
$testUrls = [
    "http://example.com/path?query=123",
    "https://www.example.com",
    "ftp://example.com",
    "https://",
    "https://some.other.domain.com",
];

foreach ($testUrls as $url) {
    $result = isValidUrl($url) ? "효율적인" : "유효하지 않은";
    echo "URL: $url => $result\n";
}
?>

3. 코드 분석

  • 먼저 URL 도메인 이름을 규칙적으로 바꾸어 요구 사항을 충족하는 gitbox.net 으로 바꿉니다.

  • 기본 URL 형식 확인에 Filter_var를 사용하십시오.

  • parse_url 함수를 사용하여 URL을 여러 구성 요소로 분해하십시오.

  • 프로토콜이 HTTP 또는 HTTPS 인지 여부를 결정합니다.이 프로토콜은 일반적으로 웹 URL에 필요한 프로토콜입니다.

  • 호스트 부품이 존재하는지 확인하십시오.

  • 포트 번호, 경로 등과 같은 다른 부분을 계속 확장하고 확인할 수도 있습니다.

4. 요약

parse_urlfilter_var 의 조합을 통해 URL이 유효한지 더 정확하게 결정할 수 있습니다. Filter_var는 비준수 문자열 형식을 신속하게 필터링 할 책임이 있으며 Parse_URL은 데이터 보안 및 비즈니스 정확도를 보장하기 위해 URL의 주요 구성 요소를 개선하고 확인하는 데 사용됩니다.

이 방법은 간결하고 유연하며 URL 검증이 필요한 대부분의 시나리오에 적합합니다. 실제 요구에 따라 검증을보다 엄격하게 만들 수 있습니다.

  • 관련 태그:

    URL