扫描任意潜在日期的长字符串

时间:2013-08-17 04:40:34

标签: php regex

我有一个字符串,它在表单进程中保存到数据库中。

我想创建一个脚本来扫描字符串中的任何潜在日期。

例如:

  

“客户告诉我们这个星期六给他回电话”“患者有   预定于2013年10月10日的预约“”在结束时给他回电话   这个月“

如果发现任何这些情况,则会出现提示,询问我们是否要为该特定日期创建提醒。

1 个答案:

答案 0 :(得分:2)

PHP有一个strtotime函数,可以读取“本周六”和通常的4/5/2014之类的日期。您可以使用正则表达式来提取简单日期:

\d+\/\d+\/\d+ # e.g., 10/10/2012

相对日期,就像这样。

(this|next|last|on) (Sat|Sun|Mon|Tues|Wedns|Thurs|Fri)day

然后是另外几个月,“明天”,以及你喜欢的任何其他事情。它会变得非常复杂,但你可以像(regexp1 | regexp2 | regexp3)一样加入它们。

关于strtotime的好处是如果它不理解它只会返回false,所以你不需要太精确。

如果这些不一定在同一天处理,您也可以从创建原始条目时传递时间戳。


有些事情,例如“在月底”你将不得不手动完成。 strtotime读了很多,但不是那么详细。