可能需要PHP中的电子邮件、消息线程和正则表达式

可能需要PHP中的电子邮件、消息线程和正则表达式,php,regex,email,email-headers,Php,Regex,Email,Email Headers,我正在做一件事,记录发送到特定地址的电子邮件。我有一个PHP脚本,可以将信息放入MySql,运行良好 我需要能够根据类似于Gmail的“对话”对信息进行分组,并且已经读过一些这方面的内容。这并不需要是完美的,因为在网站上显示消息之前,将手动批准消息,然后可以更正任何错误。我只是想让它尽可能少的工作,以便将新电子邮件链接到原始电子邮件应该自动完成 我的理解是,回复标题中的可以识别原始消息,但其使用并不标准 我在另一页上发现: The most common forms of In-Reply-To

我正在做一件事,记录发送到特定地址的电子邮件。我有一个PHP脚本,可以将信息放入MySql,运行良好

我需要能够根据类似于Gmail的“对话”对信息进行分组,并且已经读过一些这方面的内容。这并不需要是完美的,因为在网站上显示消息之前,将手动批准消息,然后可以更正任何错误。我只是想让它尽可能少的工作,以便将新电子邮件链接到原始电子邮件应该自动完成

我的理解是,回复标题中的
可以识别原始消息,但其使用并不标准

我在另一页上发现:

The most common forms of In-Reply-To seemed to be:

31%     NAME's message of TIME <ID@HOST>
22%     <ID@HOST>
9%      <ID@HOST> from NAME at "TIME"
8%      USER's message of TIME <ID@HOST>
7%      USER's message of TIME
6%      Your message of "TIME"
17%     hundreds of other variants (average 0.4% each?)
最常见的回复形式似乎是:
31%姓名的时间信息
22%     
9%来自“时间”的名称
8%的用户信息时间
7%的用户信息时间
6%的“时间”信息
17%的其他数百种变体(平均每个变体0.4%)
然而,这似乎表明,如果存在“回复”字段,则在其中找到的第一个括号内的文本是父消息的消息ID,这一假设并非不合理

那么,获得该值的最简单方法是什么?是否有一个正则表达式可以让我获取
中的任何内容(如果可用)?(根据我找到的帖子,这应该是
中的第一个值吗?)


感谢您提供的任何帮助。

您应该能够在后面的参考中抓住第一个匹配项:

说明:

//    Match the character “<” literally «<»
//    Match the regular expression below and capture its match into backreference number 1 «(.+)»
//       Match any single character that is not a line break character «.+»
//          Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
//    Match the character “>” literally «>»
//匹配字符“»
根据您的想法,您可以编写如下内容来完成您想要做的事情(如果这不是有效的php,请原谅我):

$string='blah blah';
preg_匹配('/',$string,$match);
打印(匹配);

我该如何使用它,比如什么PHP命令可以在变量中获得我需要的值?嘿,所以不经常发送通知,只是意识到这是更新的。我检查了你的代码,它工作得很好。非常感谢。我将接受你对这个问题的回答。
$string ='blah blah blah <ID@HOST>';
preg_match('/<(.+)>/', $string, $match);
print_r($match);