2011-11-07 3 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 [ 'fromaddress']'? – 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'])); 
관련 문제