从电子邮件中删除内容

时间:2018-01-27 12:22:17

标签: php php-imap

我编写了一个脚本来检索来自我的IMAP服务器的电子邮件。一切正常。

我想保留一些HTML标记,因此编写了额外的代码来删除我的允许列表中未包含的标记 - 再次,一切正常。

我的问题是,收到的某些电子邮件还有其他内容,我也希望将其删除。例如,最近收到的电子邮件包含......

v:* {behavior:url(#default#VML);} o:* {behavior:url(#default#VML);} w:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}

位于电子邮件内容的顶部。

如何删除此类内容以确保我只捕获实际的电子邮件内容?

我宁愿不使用纯文本内容(除非这是电子邮件中的唯一内容),因为电子邮件可能包含链接或强调我需要维护的某些短语。

由于 麦克

1 个答案:

答案 0 :(得分:0)

您可以使用preg_replace()跳过一些不需要的内容。

尝试类似:

$str = "
content
v:* {behavior:url(#default#VML);}
some other content
o:* {behavior:url(#default#VML);}
some other content
w:* {behavior:url(#default#VML);}
some other content
.shape {behavior:url(#default#VML);}
some other content
" ;

$str = preg_replace('~([a-z]:\*|\.shape) \{(.*?)\}~', '', $str);
var_dump($str) ;

输出:

string(89) "
content

some other content

some other content

some other content

some other content
"