PHP验证IP地址

时间:2012-02-08 10:55:44

标签: php networking ip ipv4 filter-var

<?php
$subdomain ='hello.cheapantivirus.me';
        $ns1 = 'ns01.000webhost.com';

$host = "@$ns1 $subdomain";
$ip = `/usr/bin/dig $host +short A`;

 echo $ip; // output is 31.170.161.67

 $ip3 = '84.8.161.5';

 if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
   echo "valid"; 
}
else {
  echo " not valid"; // the $ip is invalid
}


 if(filter_var($ip3, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
   echo "valid"; // somehow this one is valid
}
else {
  echo " not valid";
}
?>

我的问题是为什么$ ip filter被显示为无效但$ ip3当我手动分配IP时,$ ip3过滤器显示为有效。请帮帮我?

1 个答案:

答案 0 :(得分:11)

命令行输出可能包含尾随空格或换行符。

尝试

$ip = trim($ip);

在进行验证之前。