【问题标题】:preg-match date in 1 Jan 2001 format2001 年 1 月 1 日格式的预赛日期
【发布时间】:2015-03-18 13:30:31
【问题描述】:

我希望在 PHP 中删除此短语之后的字符串中的所有内容:

On 17 Mar 2015

如何匹配任何日期?

编辑:我目前使用它来删除字符串中的短语及其后面的所有内容:

if (strpos($body,"On 17 Mar 2015") !== false) { $body = substr($body, 0, strpos($body, "On 17 Mar 2015"));}

输入 =

reply reply reply reply reply reply reply reply 

On 17 Mar 2015, at 10:23, user wrote:

> email email email email email email email email email email email email 
> email email email email email email email email email email email email

预期输出:

reply reply reply reply reply reply reply reply

任何可能的日期

【问题讨论】:

  • 您的预期输出是什么?您要匹配还是删除?
  • 那么您是要删除此短语之后的所有内容还是要匹配一个日期?

标签: php regex date preg-match


【解决方案1】:

如果短语的格式没有改变,下面的正则表达式应该可以解决任何可能的日期。

$phrase = "On 17 Mar 2015";
preg_match("#(?<=On\s)\d+\s\w+\s\d+#", $phrase, $matches);
echo $matches[0];

【讨论】:

  • 我如何匹配任何日期?
  • @MikeThrussell 你试一试了吗?您可以更改变量$phrase 中的日期。它会匹配它。
  • 我很抱歉我误解了代码。这很好用,谢谢
  • @MikeThrussell 完美,玩得开心。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-14
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
相关资源
最近更新 更多