2017-01-27 17 views
2

Gmailの受信箱をチェックし、各メールの本文を読んで、キーワード 'Billing and Loading'に基づいてCRMで大文字小文字を作成する必要があります。 Gmailからのメールが問題になりました。キーワードに基づいて文字列をソートして大文字小文字を作成する

私は、キーワードを見つけ、このコードこのコードは、すべてのメールをチェックし

foreach($emails as $email) { 

     $headerInfo = imap_headerinfo($connection,$email); 
     $message= imap_fetchbody($connection , $email,1); 

     if (preg_match('/Bill|load/', $message)) { 
      if (strpos($message, 'Bill')) { 
       echo 'billing related issue'; 
      }elseif (strpos($message, 'load')) { 
       echo 'Loading related issue'; 
      } 
     }else echo 'doesn\'t exists</br>'; 
    } 

に持っているが、それは両方ではないため、課金またはロードのいずれかをチェックし、。私を助けてください。

+1

ここで 'preg_match'を使用することには何の意味もありません。 'strpos'を使って' Bill'があるかどうかを確認します。ロードがあるかどうか確認してください。結果を別々の変数に格納する。それらの値をチェックし、適切なロジックを記述します。 –

+0

@WiktorStribiżew:申し訳ありません。それは私ができないことです、私はそれらを別々の変数に格納して使用する方法を理解していません。 –

答えて

1

preg_match()は不要です。 strpos()は望ましい方法で動作します: -

foreach($emails as $email) { 
    $headerInfo = imap_headerinfo($connection,$email); 
    $message= imap_fetchbody($connection , $email,1); 
    if (strpos($message, 'Bill')!== false && strpos($message, 'load') === false) { 
     echo 'billing related issue'; 
    }else if (strpos($message, 'Bill') === false && strpos($message, 'load') !== false) { 
     echo 'Loading related issue'; 
    }else if(strpos($message, 'Bill') !== false && strpos($message, 'load') !== false){ 
     echo 'Loading/Billing related issue'; 
    }else echo 'does\'t exists</br>'; 
} 
+1

ありがとうございました。その働き。 –

+0

@SugarAPIあなたを助けてうれしいです:) :) :) –

+0

Marked、ありがとうございました –

関連する問題