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