PHP - REGEX将日期的每个部分都放入一个单独的变量中

时间:2011-12-05 18:13:15

标签: php regex date

我有一个这样的字符串日期:

$date = "23/12/2011";//format: dd/mm/yyyy.

我需要这个日期的每个部分都有自己的变量,所以$ d ==“23”,$ m ==“12”,$ y ==“2011”。

任何关于如何做到这一点的建议都将受到赞赏......

5 个答案:

答案 0 :(得分:7)

你可以这样做:

list($day, $month, $year) = split("[/]", $yourDate);

答案 1 :(得分:2)

$date = "23/12/2011";
list($d,$m,$y) = explode('/', $date, 3)

答案 2 :(得分:1)

您要查找的正则表达式为/(\d+)\/(\d+)\/(\d+)/,而preg_match中的正则表达式将包含在preg_match调用中定义的$ matches数组中。

见这里:http://php.net/manual/en/function.preg-match.php

答案 3 :(得分:1)

反向引用:

if (preg_match('%(\d{2})/(\d{2})/(\d{4})%', $subject, $regs)) {
    $result = $regs[1]; #first two digits are here.. etc..
}

答案 4 :(得分:1)

使用此解决方案,将自动为每个变量分配正确的数据类型:

sscanf($date, '%d/%d/%d', $d, $m, $y);