1

我正在编写支持软件,我想突出显示 HTML 支持会很棒。

看着 Outlooks “HTML” 我想爬到胎位哭!

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

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

另外我应该补充一下,我正在使用 Zend 框架,因为 Zend_Mail 很棒

4

5 回答 5

2

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

于 2009-02-23T19:54:11.690 回答
1

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

关于 RTF 与 HTML,我的理解是,当 Outlook 和 Exchange 与不符合 RTF 的系统通信时,它们会将 RTF 转换为 HTML。我不确定这是否总是正确的,或者该功能是否一致,但这可能解释了为什么发送的 RTF 消息似乎是 HTML。

于 2009-02-23T19:54:45.400 回答
0

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

于 2009-02-23T19:37:09.483 回答
0

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

因此,如果您只是定位到“<”然后找到下一个“>”,那么您就有了一个标签。如果它不是你想要的东西,比如“</strong>”,就把它扔掉,然后重复 Simple as that。

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

于 2009-02-23T19:42:48.550 回答
0

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

  1. 删除换行符
  2. 转入换</p><br/>
  3. 剥离所有 html 标签
于 2009-02-23T19:43:45.880 回答