if(strcmp($ip1,$ip2)==0)
echo "equal";
if(strcmp($ip1,$ip2)>0)
echo "1>2";
if(strcmp($ip1,$ip2)<0)
echo "1<2";
echo "equal";
if(strcmp($ip1,$ip2)>0)
echo "1>2";
if(strcmp($ip1,$ip2)<0)
echo "1<2";
解决方案 »
- 求一正则表达式的写法
- 有关php和mysql存储过程
- php mysql_free_result 的问题
- ========================================================不知道怎么说==========================================================
- 致初学者:PHP比ASP优秀的七个理由
- 请问有没有什么著名的PHP书籍既有中文版又有英文版的?并且都有电子版可下?
- 把数组中的数据插入表的问题
- 我用$_GET['..']接受浏览器传过来的参数,为什么会报错呢?
- 求教:怎样取http页面内容?
- zend guard loader不能用
- 谁来推荐一个PHP+mysql的建站系统,包括新闻管理,最好还有论坛,分数要多少都有!
- 正则表达式的问题
有呵,我要完成屏蔽这一段的ip不能访问功能呵
aaa.bbb.ccc.ddd
形式的字符串转换为整型一般都应该是前面的部分相同,后面的部分不同,例如 aaa.bbb 固定,而 ccc.ddd 在一个范围内,或者 aaa.bbb.ccc 固定,而 ddd 在一个范围内
这是,只需要把后面的部分转换为整数:对 ccc.ddd:$s_ip = "aaa.bbb.ccc.ddd";
$a = explode('.',$s_ip);
$i_ip = $a[2]*256+$a[3];
//假设要限定在 "xxx.xxx.111.111" - "xxx.xxx.222.222" 之间:
// 111=0x6f, 222=0xde
if ( 0x6f6f <= $i_ip && $i_ip <= 0xdede )
//合法 IP
else
//非法 IP要是只规定 ddd 就更简单了:$s_ip = "aaa.bbb.ccc.ddd";
$a = explode('.',$s_ip);
//假设要限定在 "xxx.xxx.xxx.111" - "xxx.xxx.xxx.222" 之间:
if ( 0x6f <= $a[3] && $a[3] <= 0xde )
//合法 IP
else
//非法 IP
$e="(1[0-9]{2}|[1-9]?[0-9]|2[0-4][0-9]|25[0-5])";
if(ereg("^$e\.$e\.$e\.$e$",$ip,$arr)){
return (($arr[1]*256+$arr[2])*256+$arr[3])*256+$arr[4];
}
else
return -1;
}
echo ipVal("100.210.0.45")."<br>";
echo ipVal("101.210.0.48")."<br>";
echo ipVal("101.210.0.48")-ipVal("101.210.0.45")."<br>";
echo ipVal("101.210.0.48")>ipVal("101.210.0.45")."<br>";