Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从IMAP消息中提取链接_Php_Email_Anchor_Imap_Extract - Fatal编程技术网

Php 从IMAP消息中提取链接

Php 从IMAP消息中提取链接,php,email,anchor,imap,extract,Php,Email,Anchor,Imap,Extract,我需要从IMAP消息中提取URL,到目前为止,我已经能够以纯文本形式提取消息,但没有链接,我真的需要一些帮助。这是我到目前为止得到的 $section = empty( $attachments ) ? 1 : 1.2; $text = imap_fetchbody($connection, $msgno, $section ); echo $text."<hr/>"; $section=空($attachments)?1 : 1.2; $text=im

我需要从IMAP消息中提取URL,到目前为止,我已经能够以纯文本形式提取消息,但没有链接,我真的需要一些帮助。这是我到目前为止得到的

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

echo $text."<hr/>";
$section=空($attachments)?1 : 1.2;  
$text=imap_fetchbody($connection,$msgno,$section);
echo$text.“
”;
我试着将节号从1:1.1改为1:1.2,但没用


我需要将邮件提取为html格式,使其包含链接,我需要更改什么才能获得链接?

上面代码中的一些错误:

  • 使用
    1.2
    作为浮点数而不是字符串。这是一个字符串,很幸运你的
    1.2
    没有被转换成
    1.20000001
  • 有一个硬编码的零件号,以防邮件附带多个身体部位——请阅读中的描述,了解这些身体部位是什么,它们是如何工作的,以及如何找出与您相关的身体部位
  • 不执行
    内容传输编码的任何解码或处理字符集转换。显然,您对消息的文本部分感兴趣,这些部分可能会以多种编码形式到达,如
    quoted printable
    base64
    ,您必须对其进行解码。如果你想安全起见(应该的,现在已经是2013年了,URL中有有趣的字符,更不用说IDN了),也可以从字符集转换为unicode,然后再匹配内容
  • 您可能应该检查至少所有顶级身体部位的MIME类型,这样您就不会试图检测附加图像中的“链接”或zip文件的未编码二进制表示等

$text
变量内部的链接。请张贴一个例子,你目前看到的回声。它可能很简单,如带有表达式的
a href=“needdurl”
preg_match()