學(xué)習(xí)PHP時,你可能會遇到判斷PHP正則表達(dá)式問題,這里將介紹PHP正則表達(dá)式問題的解決方法,在這里拿出來和大家分享一下。在一些查詢網(wǎng)站和搜索引擎,常常用到判斷某字符串是否為標(biāo)準(zhǔn)的IP地址。
比如在百度里搜索某IP地址,會顯示該IP的信息,而不符合標(biāo)準(zhǔn)的IP地址是不顯示IP信息的。這時就要判斷該字符串是否為標(biāo)準(zhǔn)的IP了,最常用的方法是用PHP正則表達(dá)式判斷。在網(wǎng)上搜了一些判斷IP地址的正則,都是過于簡單的,有的只是判斷IP字段不大于255,其實(shí)還有很多需要判斷的,比如只能是數(shù)字,且不能為負(fù)數(shù),還有用“.”分割只有4段等等。最好我整理了一個自我感覺完美的函數(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);
還可以使用/來反引用小括號里的字符0表示全部1表示第一個匹配的字符串以此類推最多9個!具體手冊不區(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);
新聞熱點(diǎn)
疑難解答