2011-11-07 15 views
1

何らかの理由で本当に変わった文字列が配列内で生成されていますが、それをどのように扱うかわかりません...文字列を取得しています次のコード:PHP:無効な文字列が正しく比較されない

$server = '{imap.gmail.com:993/ssl}'; 
    $connection = imap_open($server, 'myuser', 'mypass'); 
    $count = imap_num_msg($connection); 
    $header = imap_headerinfo($connection, $i); 
    for($i = 1; $i <= $count; $i++) { 
     $from = $header['fromaddress']; 
     var_dump($from); 
    } 

そして、これは私がそれのvar_dumpから取得した結果である:

string(39) "Support Testing1" 

どうということは可能ですか?そして今、これは、私のコードに影響を与えている私は、正しい文字列にそれを変換することができます任意の方法(私は右の長さで、意味ですか?)

あります:ときそれが必要

echo ('Support Testing1' == $from) 

は、偽の私を与えるには、本当だ。何か案は?ありがとう!

更新:トリムも機能しません。

+0

'trim($ header ['fromaddress'])== $ header ['address ']'? – greg0ire

+0

コードからもう少し分かりますか? – bksi

+0

この問題の背景は何ですか?それはPHPのメールスクリプトに関連しているように見えますか? –

答えて

3

私の最高の推測では、$header['fromaddress']

"Support Testing1" <[email protected]> 

のようなものが本当にあるということで、ブラウザは次のように扱いますので、あなたは、VaRのダンプにメールアドレスが表示されませんHTMLタグ。

これがそうならば、<...>、おそらく二重引用符も削除する必要があります。

ソースHTMLを確認してみることができます。

0

試してみてください。

$from = trim($header['fromaddress'])); 

両端に空白文字が隠されていてもよいです。

+0

ありがとうございますが、まだ同じ結果が得られています... – luqita

0

おそらくエンコードの問題です。

試してみてください。

var_dump(utf8_decode($header['fromaddress'])); 
関連する問題