获取字符串php中的日期
我试图用php从句子中提取日期。。比如说 我正在努力摆脱2006年8月10日的困境 “2006年10月8日,一场大风暴过后,这座建筑被清理干净。” 它有一个github函数 但它在2012年1月5日等日期失败 我意识到,鉴于日期字符串的多样性,在字符串中查找日期字符串要比针对特定格式的简单正则表达式或对给定字符串输入进行strototiming困难得多获取字符串php中的日期,php,date,Php,Date,我试图用php从句子中提取日期。。比如说 我正在努力摆脱2006年8月10日的困境 “2006年10月8日,一场大风暴过后,这座建筑被清理干净。” 它有一个github函数 但它在2012年1月5日等日期失败 我意识到,鉴于日期字符串的多样性,在字符串中查找日期字符串要比针对特定格式的简单正则表达式或对给定字符串输入进行strototiming困难得多 有人有什么好主意吗 我认为没有可行的解决方案,因为2010年8月10日没有说明太多。。。它可以是10天或10个月。。。我认为您可以继续使用正则表
有人有什么好主意吗 我认为没有可行的解决方案,因为2010年8月10日没有说明太多。。。它可以是10天或10个月。。。我认为您可以继续使用正则表达式:)我认为使用正则表达式会更简单。
问题是日期的书写方式还有很多选择。首先,我会先寻找一些基本模式,然后用几次正则表达式(mm/dd/yy和mm/dd/yyyy,带有
\d{2]/\d{2}/\d{2,4}
,然后寻找其他模式,比如\d{1,2}(th | st | rd)Jan(uary)→Jan(uary)→Feb(ru124; Mar il)(ch |Apr)?五月?六月(东)?七月(年)?八月(东印度科技大学)?九月(冬季)?十月(奥伯)十一月(余烬)?十二月(余烬)
etc)
几乎可以肯定的是,编写几个正则表达式并一次性完成比编写一个大型正则表达式更快
然后,将提取的内容传递到strotime
,以获得一个可用的unix时间戳,并从中执行所需的操作
注意事项:
- 我没有试过正则表达式,有明显的优化
- 假设您的日期始终为美国风格(mm/dd/yy,而非dd/mm/yy)