【发布时间】:2010-04-13 05:18:25
【问题描述】:
我目前正在开发一个可以从电子邮件中解析日期的应用程序 - 即从电子邮件中提取时间和日期(类似于 gmail)。
目前我在 php 中执行此操作,但这有点笨拙。
最好的语言是什么?是否有任何现有的开源解决方案?
【问题讨论】:
我目前正在开发一个可以从电子邮件中解析日期的应用程序 - 即从电子邮件中提取时间和日期(类似于 gmail)。
目前我在 php 中执行此操作,但这有点笨拙。
最好的语言是什么?是否有任何现有的开源解决方案?
【问题讨论】:
我认为 PHP 与任何其他语言一样强大。我们可以查看您正在使用的代码,以便我们提出改进建议吗?我会使用正则表达式...你只需要一个支持多种格式的好表达式。
【讨论】:
我在我的电子邮件客户端中所做的是提取所有由空格分隔的标记,然后使用启发式方法对它们进行迭代以确定如何对每个标记进行分类。例如,如果令牌中有一个“:”字符,那么我将其视为时间,将被解析为##:##:##。如果它有'。'或“-”将其视为日/月/年组合,您必须决定哪一端是哪一端……可以是任意数量的组合。如果令牌以字母开头(即 isalpha(*string)),那么您将进行月份名称查找。如果它是一个数字,它可能是日期或年份......根据长度以及您是否已经有一个现有的日期或年份等来决定。如果令牌以“-”或“+”开头,那么它是一个时区,相应地解析。
似乎在该领域工作得很好,我的电子邮件客户端已经存在了 10 年左右。我的代码是 C++,但你可以很容易地用 PHP 编写相同的代码,它不是特别特定于语言的。
【讨论】: