メール本文のインライン返信/転送の開始を識別するパターンを理解するのに少し苦労しています。「転送メッセージの開始」のような単純なもので始まる簡単なものがいくつかありますが、返信はもう少し複雑です:
On 12-06-13 10:56 AM, "John Doe" <john.doe@some.tld> wrote:
明らかに、定数は「On」と「wrote:」になります。最初の一致のみを見つけて、それ以降のすべてを display:none が適用された div でラップするか、substr($body,0, POSITION_OF_MATCH) を使用して削除できるようにしたいと考えています。
私が抱えている問題の 1 つは、最初の発生をキャッチしていないことです。2 つ目は、貪欲を適切に機能させることができないことです。
これまでの私の進捗状況 (少なくとも部分的に機能するバージョンに戻った) は次のとおりです。
preg_match("/On [^>]* wrote:/i",$content,$matches,PREG_OFFSET_CAPTURE);
どんな助けでも大歓迎です!