學習PHP時,你可能會遇到判斷PHPRegex問題,這裡將介紹PHPRegex問題的解決方案,在這裡拿出來和大家分享一下。在一些查詢網站和搜尋引擎,常常用到判斷某字串是否為標準的IP地址。
比如在百度裡搜尋某IP地址,會顯示該IP的資訊,而不符合標準的IP地址是不顯示IP資訊的。這時就要判斷該字串是否為標準的IP了,最常用的方法是用PHPRegex判斷。在網上搜了一些判斷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.調節只支援區分大小寫Regexsql_regcase
$name="xuandun";
- echosql_regcase($name);