Php 正则表达式帮助电子邮件内容

Php 正则表达式帮助电子邮件内容,php,regex,email,Php,Regex,Email,我有一封电子邮件,其中包含以下内容: 亲爱的人 谢谢你的回复 真诚地 某人 引用someone@somewhere.com: 直角括号| |管道原始文字 直角括号| |管道原始文字 直角括号| |管道原始文字 我需要提取所有内容,从引用到最后一个直角括号或管道,再加上其中的原始文本。我的理论是使用一些正则表达式,我想用正则表达式引用电子邮件,然后是下面的所有内容,直到右箭头括号或管道末端我还注意到,有时链接中会显示“隐藏引用文本”或“显示引用文本”。我想知道我是否也需要考虑这一点,或者是电子邮件

我有一封电子邮件,其中包含以下内容:

亲爱的人

谢谢你的回复

真诚地

某人

引用someone@somewhere.com:

直角括号| |管道原始文字

直角括号| |管道原始文字

直角括号| |管道原始文字


我需要提取所有内容,从引用到最后一个直角括号或管道,再加上其中的原始文本。我的理论是使用一些正则表达式,我想用正则表达式引用电子邮件,然后是下面的所有内容,直到右箭头括号或管道末端我还注意到,有时链接中会显示“隐藏引用文本”或“显示引用文本”。我想知道我是否也需要考虑这一点,或者是电子邮件应用程序的一部分

鉴于电子邮件的内容以行形式保存在名为
$myarray
的数组中,并存储到
$outarray
中,我的解决方案将遵循以下原则:

$doquote = FALSE;
foreach ($myarray as $val) {
  if (strpos($val, 'Quoting') !== FALSE)
     $doquote = TRUE;

  if ($doquote) {
    if (preg_match('[|>]', $val, $matches) == 1) {
      array_push($outarray, $matches[1]);
    }
  }
}

我不明白你在说什么。我想做一个正则表达式引用电子邮件,然后所有下面的内容,直到右箭头括号或管道结束。什么是索引字符串函数什么电子邮件格式发送到脚本?如何递送?您不必解释“隐藏引用文本”链接,除非可能要删除该行,但您可能必须解释默认情况下未交付文本的“显示引用文本”场景。很抱歉,我指的是函数。在电子邮件的各行中运行一个循环,并在您从
strpos($thisline,“Quoting”)获得真实消息后收集所有这些消息。在引用行regex的开头返回false后停止收集。确保您不必解释回复者在引用部分之间插入注释的任何电子邮件。@abiessu您可以提供一个带有工作解决方案的答案或关于如何解决此问题的说明吗?
preg_match('/Quoting(.*)/',$str,$matches)
$matches[0]
包含带有引用的匹配项
,而
$matches[1]
包含不带引用的匹配项
请注意,如果“显示引用文本”或“隐藏引用文本”不以引用文本字符开头,则不必说明。