2013-06-12 3 views
0

IMAP 메시지에서 URL을 추출해야합니다. 지금까지는 일반 텍스트로 메시지를 추출 할 수 있었지만 링크가 아닙니다. 실제로 여기에서 도움이 될 수 있습니다. 여기 내가 지금까지 무엇을 가지고 있어요IMAP 메시지에서 링크 추출

$section = empty($attachments) ? 1 : 1.2; 
$text  = imap_fetchbody($connection, $msgno, $section); 

echo $text."<hr/>"; 

섹션 번호를 1 : 1.1에서 1 : 1.2로 변경하려고 시도했지만 도움이되지 않았습니다.

링크가 포함되도록 메일을 HTML로 추출해야합니다. 링크를 가져 오기 위해 무엇을 변경해야합니까? 위의 코드에서

+0

등, 적어도 모든 최상위 신체 부위의 MIME 유형을 확인해야합니다 '$ text' 변수 내부의 링크입니다. 현재보고있는 내용을 에코로 게시하십시오. 'preg_match()'와 같이 간단 할 수 있습니다. 'a href = "neededURL"에 대한 표현식이 있습니다. 메시지 안의 링크에서 URL을 얻으려고하지 않는다면 질문을 수정하여 명확하게하십시오. – amaster

답변

0

일부 버그 :

  • 문자열이 아닌 부동 소수점 숫자로 1.2 사용. 그것은 문자열이며 귀하의 1.21.2000000001으로 변환되지 않는다는 것은 단순한 행운입니다.
  • 메일 여러 신체 부위와 함께 제공하는 경우에 하드 코드 된 부품 번호가 갖는 - 이러한 신체 부위들이 작동 방법과
  • 관련있는 어떤 것들을 찾는 방법, 무엇에 대한 자세한 내용은 RFC 3501, p. 56에 대한 설명을 읽어 Content-Transfer-Encoding의 디코딩을 수행하지 않거나 문자 집합 변환을 처리하지 않습니다. 메시지의 텍스트 부분에 분명히 관심이 있습니다.이 메시지는 quoted-printable 또는 base64과 같은 여러 인코딩으로 전달 될 수 있습니다.이 인코딩은 디코딩해야합니다. 안전한 게임을 즐기려면 (IDN에 관해 말하지 않고 URL에 재미있는 문자가 있어야 함) 문자 세트에서 유니 코드로 변환 한 다음 내용에 대해서만 일치시켜야합니다. 당신이 첨부 된 이미지 또는 zip 파일의 디코딩되지 않은 바이너리 representaiton에서 "링크"를 감지하지 않도록
  • 당신은 아마