Filtre avancé PHP
Détecter si un nombre est dans une plage
L'exemple suivant utilise la fonction filter_var() pour détecter si une variable de type INT est comprise entre 1 et 200 :
Instance
<?php $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("变量值在合法范围内"); } ?>
Détecter l'adresse IPv6
L'exemple suivant utilise la fonction filter_var() pour détecter si une variable $ip est une adresse IPv6 :
Exemple
<?php $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 地址"); } ?>
Détecter l'URL - doit contenir QUERY_STRING (chaîne de requête)
L'exemple suivant utilise la fonction filter_var() pour détecter si $url contient la chaîne de requête :
Exemple
<?php $url = "http://php.cn"; if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) { echo("$url 是一个合法的 URL"); } else { echo("$url 不是一个合法的 URL"); } ?>
Supprimer les caractères dont la valeur ASCII est supérieure à 127
L'exemple suivant utilise la fonction filter_var() pour supprimer les caractères avec une valeur ASCII supérieure à 127 dans une chaîne. Il peut également supprimer les balises HTML :
Exemple
<?php $str = "<h1>Hello WorldÆØÅ!</h1>"; $newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); echo $newstr; ?>
<. 🎜 >