我有一个像这样的字符串日期:
$date = "23/12/2011";//format: dd/mm/yyyy.
我需要这个日期的每一部分在它自己的变量中,这样$d=="23", $m=="12",和$y=="2011"。
你可以这样做:
<>之前列表(日,月,美元美元)=分裂("[/]",你的美元);$date = "23/12/2011";
list($d,$m,$y) = explode('/', $date, 3)
您正在寻找的正则表达式是/('d+)'/('d+)'/('d+)/
,而在preg_match
中,它们将包含在您在preg_match
调用中定义的$matches数组中。
请看这里:http://php.net/manual/en/function.preg-match.php
Backreferences:
if (preg_match('%('d{2})/('d{2})/('d{4})%', $subject, $regs)) {
$result = $regs[1]; #first two digits are here.. etc..
}
使用此解决方案,每个变量被自动分配适当的数据类型:
sscanf($date, '%d/%d/%d', $d, $m, $y);