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