比如在百度里搜索某IP地址,會(huì)顯示該IP的信息,而不符合標(biāo)準(zhǔn)的IP地址是不顯示IP信息的。這時(shí)就要判斷該字符串是否為標(biāo)準(zhǔn)的IP了,最常用的方法是用PHP正則表達(dá)式判斷。在網(wǎng)上搜了一些判斷IP地址的正則,都是過于簡(jiǎn)單的,有的只是判斷IP字段不大于255,其實(shí)還有很多需要判斷的,比如只能是數(shù)字,且不能為負(fù)數(shù),還有用“.”分割只有4段等等。最好我整理了一個(gè)自我感覺完美的函數(shù),代碼如下:
-
functionis_ip($gonten){
-
$ip=explode(”.”,$gonten);
-
for($i=0;$i<count($ip);$i++)
-
{
-
if($ip[$i]>255){
-
return(0);
-
}
-
}
-
returnereg(”^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$”,$gonten);
-
}
$gonten為要查詢的字符串,用is_ip($gonten)就可以判斷了,返回FALSE和TRUE。
1.eregi語句不區(qū)分大小寫判斷
-
if(eregi("^[a-zA-Z0-9]{8,10}$","999999999"))echo"是八到十位的數(shù)字與字母";
2.以區(qū)分大小寫的方式替換文本的ereg_replace
-
$string="Thisisatest";
-
//替換is為was
-
echoereg_replace("is","was",$string);
還可以使用\來反引用小括號(hào)里的字符0表示全部1表示第一個(gè)匹配的字符串以此類推最多9個(gè)!具體手冊(cè)不區(qū)分大小寫替換文本的eregi_replace用法同上
3.區(qū)分大小寫的方式劃分字符串為不同元素split語句
-
print_r(split("[\n\t]","我愛\n北京\t天安門"));
不區(qū)分大小寫的劃分:spliti語句用法同上
4.調(diào)節(jié)只支持區(qū)分大小寫的正則表達(dá)式sql_regcase
-
$name="xuandun";
-
echosql_regcase($name);