PHP 고급 필터
필터 사용 을 사용하여 숫자가 범위 내에 있는지 감지
다음 예에서는 filter_var() 함수를 사용합니다. INT형 변수가 1~200 사이인지 확인하려면:
<?php header("Content-type:text/html;charset=utf-8"); $int = 122; $min = 1; $max = 200; if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) { echo("变量值不在合法范围内"); } else { echo("变量值在合法范围内"); } ?>
프로그램 실행 결과:
변수 값이 법적 범위
IPv6 주소 감지
< 내에서 IPv6 주소 감지 🎜>
★FILTER_VALIDATE_IP 필터는 값을 IP로 검증합니다.
다음 예에서는 filter_var() 함수를 사용하여 $ip 변수가 IPv6 주소인지 감지합니다.
프로그램 실행 결과:
2001:0db8:85a3:08d3:1319:8a2e:0370:7334는 IPv6 주소입니다탐지 URL - QUERY_STRING(쿼리 문자열)을 포함해야 합니다.
QUERY_STRING
문자 그대로 쿼리 문자열입니다. 예, 일반 URL 웹 주소에는 xxx.asp?pn=123456이 있습니까? 숫자 뒤에 오는 것은 쿼리 문자열입니다.다음 예에서는 filter_var() 함수를 사용하여 $url에 쿼리 문자열이 포함되어 있는지 여부를 감지합니다.
<?php header("Content-type:text/html;charset=utf-8"); $ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334"; if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) { echo("$ip 是一个 IPv6 地址"); } else { echo("$ip 不是一个 IPv6 地址"); } ?>프로그램 실행 결과: http://www.baidu.com은 합법적인 URL이 아닙니다
위의 URL은 예제에는 QUERY_STRING이 포함되어 있지 않으므로 실행 결과는 부정 응답입니다.
ASCII 값이 127보다 큰 문자를 제거하세요
★
FILTER_SANITIZE_STRING 필터는 원하지 않는 문자를 제거하거나 인코딩합니다.
다음 예에서는 filter_var() 함수를 사용하여 문자열에서 ASCII 값이 127보다 큰 문자를 제거합니다. HTML 태그도 제거할 수 있습니다.
<?php header("Content-type:text/html;charset=utf-8"); $url = "http://www.baidu.com"; if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) { echo("$url 是一个合法的 URL"); } else { echo("$url 不是一个合法的 URL"); } ?>
프로그램 실행 결과:
Hello World!
PHP 필터 참조 매뉴얼
보기도 가능합니다. 이 사이트의 PHP 필터 참조 매뉴얼을 방문하여 필터의 특정 적용을 확인하세요.
참조 매뉴얼에는 필터 매개변수에 대한 간략한 설명과 사용 예가 포함되어 있습니다!