有没有办法解码HTML电子邮件?

时间:2009-02-23 19:27:22

标签: php email class decode

我正在编写支持软件,我想要突出显示支持HTML的好处。

查看Outlook“HTML”我想爬进胎儿位置哭泣!

是否有一个php类来解读HTML电子邮件以支持基本HTML?我不想在一个框架中显示电子邮件,因为我想处理数据并进行分析。我也不想支持更改字体等愚蠢的事情,因为它是一个webapp我想让我的webapp说出字体是什么,而不是有一些嬉皮士以漫画sans和黄色发送支持团队的电子邮件。我想支持粗体,斜体,下划线,拉伸和列表(http://dl.getdropbox.com/u/5910/Jing/2009-02-23_2100.png)。

我也不太了解富文本和html之间的区别,因为我一直认为富文本只允许我想要的功能但我似乎能够用富文本做所有事情,我可以在Html中做

此外,我应该添加我使用Zend Framework,因为Zend_Mail

5 个答案:

答案 0 :(得分:2)

您可以通过htmltidy进行管道传输,然后使用类似HtmlPurifier的内容对其进行过滤,但当然您可能会删除对理解内容至关重要的内容。这就是视觉格式的问题,比如html。

答案 1 :(得分:1)

您可以使用PHP的strip_tags()函数,它是可选的“allowable_tags”参数。这将允许您删除所有不是<em> <b> <strong> <u>等的标记

关于RTF与HTML,我的理解是当Outlook和Exchange与非RTF兼容系统通信时,它们将RTF转换为HTML。我不确定这是否总是正确的,或者该函数的一致性如何,但这可以解释为什么发送RTF的消息看起来像是HTML。

答案 2 :(得分:0)

我很确定你必须编写自己的类......在我看过的PHP文档中没有类似的真正的类..

答案 3 :(得分:0)

从Outlook邮件中提取HTML可能一开始看起来很吓人,但它只是HTML标签 - 只是其中的很多!

所以,如果你只是找到一个“&lt;”然后找到下一个“&gt;”你有一个标签。如果它不是你想要的东西,比如“&lt; / strong&gt;”把它扔掉然后重复简单。

(我在拼写和语法检查器中做到了这一点,它不仅从Outlook中提取纯文本并进行检查 - 然后它可以将所有用户的更改推回到HTML而不会破坏任何标签。后者是很容易!; - )

答案 4 :(得分:0)

或者您可以使用附加到电子邮件的纯文本变体。如果没有纯文本变体,您可以使用HTML的剥离版本。我认为使用这些步骤你会得到一个很好的结果:

  1. 删除换行符
  2. </p><br/>转换为换行符
  3. 删除所有html标记