2012-03-13 53 views
-2

我有問題 - 分隔符不能是字母,數字或反斜線 我改變eregi到的preg_match PHP 5.3分隔符 - 我改變eregi到的preg_match

$noCount=0; 
    for($i=0; $i<count($robotsIP); $i++){ 
     if(preg_match($robotsIP[$i], $user_ip) || $user_ip==$robotsIP[$i]){ $noCount=1; $robot = 1; } 
    } 
    if(trim($user_ip)==''){ $noCount=1; $robot = 1; } 

回答

0

我猜可能是修改該位

if(preg_match($robotsIP[$i], $user_ip) 

if(preg_match("/".$robotsIP[$i]."/", $user_ip) 
+0

THX,這段代碼是正確的:) – ajuzo 2012-03-14 00:20:18

1

那麼,它可能會幫助,如果你告訴我們的例子在th值e $robotsIP數組。

無論如何,它聽起來像你沒有在你的字符串中的分隔符。 preg_*正則表達式需要由第一個字符定義的分隔符。它們可以是任何非字母數字字符(它在正則表達式中沒有特殊含義?),但大多數人使用/或有時我見過@,尤其是如果正則表達式本身需要包含/ s。例如:

preg_match("/fo{2}ba+r/", $str); 
preg_match("@fo{2}[email protected]", $str);