2012-11-24 56 views
-2

可能重複:
How can I convert ereg expressions to preg in PHP?變化eregi用的preg_match

這是我處理的代碼:

foreach($domainextensions as $extension => $who) {      
    $buffer = NULL;  
    if ($sock = fsockopen($who[0], 43) or die('sock' . $sock)); 
    fputs($sock, $domain.$extension . "\r\n"); 

    while(!feof($sock)) { 
     $buffer .= fgets($sock,128); 
    } 

    fclose($sock); 

    if(preg_match($who[1],$buffer)) { 
     echo ''; 
    } 

的錯誤是:

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in somewhere.php 
if(preg_match($who[1],$buffer)){} 

原始功能是eregi和eregi正常工作,但eregi已經deperecated:

if(eregi($who[1],$buffer)){} 

如何改變preg_match定義定義分隔符?

回答

0
foreach($domainextensions as $extension => $who) {      
        $buffer = NULL;  
        if ($sock = fsockopen($who[0], 43) 
        /
        or die('sock' . $sock)); 
        fputs($sock, $domain.$extension . "\r\n"); 

          while(!feof($sock)) 
          { 
            $buffer .= fgets($sock,128); 
          } 

        fclose($sock); 

        if(preg_match('/'.$who[1].'/i',$buffer)) 
        { 
          echo ''; 
        } 

應該定界符提前:)你是最好的和快速的模式

+0

感謝名單.. –

+0

你有解決問題了嗎? –

+0

解決,分隔符但仍然1我有這個問題有關套接字:警告:fsockopen()[function.fsockopen]:php_network_getaddresses:getaddrinfo失敗:沒有這樣的主機是已知的 –