【发布时间】:2011-07-25 00:57:00
【问题描述】:
在我的应用程序中,我正在使用 PHP 处理邮件文本。对于某些邮件客户端(例如 sina.com)正在发送错误的标头。例如,他们发送 HTML 邮件,但将标头 Content-Type 发送为 text/plain。
现在,对于这些邮件,我的应用程序将 HTML 视为文本。在 PHP 中如何检测文本是否包含 html 文本?
【问题讨论】:
-
使用strip_tag并将其作为文本发送,或者您可以比较此函数前后的字符串
-
从哲学的角度来看,您的应用程序不应该尝试更正明显不正确的 MIME 标头。如果邮件标记为
text/plain,则应将其视为text/plain,不是text/html。内容类型嗅探是使 IE 成为安全噩梦的众多因素之一,您不想走同样的路。 -
不是一个精确的解决方案,但您可以使用 strip_tags 将所有内容仅作为文本。另一种选择是对任何 html 标签使用正则表达式,但我对正则表达式的熟练程度不足以编写它。 :)
标签: php email text-processing