我编写了一个脚本来检索来自我的IMAP服务器的电子邮件。一切正常。
我想保留一些HTML标记,因此编写了额外的代码来删除我的允许列表中未包含的标记 - 再次,一切正常。
我的问题是,收到的某些电子邮件还有其他内容,我也希望将其删除。例如,最近收到的电子邮件包含......
v:* {behavior:url(#default#VML);}
o:* {behavior:url(#default#VML);}
w:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
位于电子邮件内容的顶部。
如何删除此类内容以确保我只捕获实际的电子邮件内容?
我宁愿不使用纯文本内容(除非这是电子邮件中的唯一内容),因为电子邮件可能包含链接或强调我需要维护的某些短语。
由于 麦克
答案 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
"