从电子邮件正文中删除签名的最佳方法

3 php regex parsing split explode

我正在解析一些电子邮件.移动邮件,iPhone和我认为iPod touch将签名附加为单独的边界,使其易于删除.并非所有邮件客户端都这样做,只需使用" - "作为签名分隔符.

我需要从字符串中删除' - ',但只是最后一次出现.

样本副本

 hello, this is some email copy-- check this out
 --
 Tom Foolery
Run Code Online (Sandbox Code Playgroud)

我想要分裂' - ',删除最后一部分,我会拥有它,但是explode()和split()似乎都没有返回值得让我知道它是否做了什么,如果没有一场比赛.

我无法让preg_replace跨越多行.我已将所有行结尾标准化为\n

什么是最好的建议最终得到"你好,这是一些电子邮件副本 - 检查出来",没有,将有没有签名的情况,当然会有我不能的情况涵盖所有案件.

var*_*tec 8

实际上正确的签名分隔符"-- \n"(注意换行符之前的空格),因此分隔符正则表达式应该是'^-- $'.虽然您可能会考虑使用'^--\s*$',但它会与OE一起使用,这会让它出错.