我注意到各种电子邮件客户端在用户编写的文本中添加/附加文本。例如,Gmail似乎为所有电子邮件主体提供了以下文本:
2015年7月14日,星期二上午11点41分,Jonny Bravo写道:
添加的文本根据客户端不同。我对这个信息不感兴趣。我希望能够用一种相对跨平台的方法从文本中提取消息体。像这样的东西存在吗?在逐案的基础上清理文本是最好的解决方案吗?
发布于 2015-07-15 16:20:39
当我们开发“最后一次回复”过滤器时,我们在mailparser.io上也遇到了同样的问题。通过检查一组正则表达式,我们得到了非常好的结果。
我们使用的正则表达式是:
'/^(--)$/ms', // -- Signature break
'/^(-----(.+))$/ms', // ----- reply above
'/^(From:(.+))$/ms', // From:
'/^(On\s(.+)wrote:)$/ms', // On DATE, NAME <EMAIL> wrote:
'/^(Sent from(.+))$/ms', // Sent from (iPhone / iPad / Windows Mail ...)有了这些,你实际上应该抓住大多数由电子邮件客户端产生的案例,这些客户端的语言设置为英语。
https://stackoverflow.com/questions/31417890
复制相似问题