PHP - REGEX получает каждую часть даты в отдельную переменную - PullRequest
1 голос
/ 05 декабря 2011

У меня есть строковая дата, подобная этой:

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

Мне нужна каждая часть этой даты в отдельной переменной, чтобы $ d == "23", $ m == "12" и $ y == "2011".

Любые предложения о том, как это сделать, будут оценены ...

Ответы [ 5 ]

7 голосов
/ 05 декабря 2011

Вы могли бы просто сделать:

list($day, $month, $year) = split("[/]", $yourDate);
2 голосов
/ 05 декабря 2011
$date = "23/12/2011";
list($d,$m,$y) = explode('/', $date, 3)
1 голос
/ 05 декабря 2011

В этом решении каждой переменной автоматически присваивается правильный тип данных:

sscanf($date, '%d/%d/%d', $d, $m, $y);
1 голос
/ 05 декабря 2011

Обратные ссылки:

if (preg_match('%(\d{2})/(\d{2})/(\d{4})%', $subject, $regs)) {
    $result = $regs[1]; #first two digits are here.. etc..
}
1 голос
/ 05 декабря 2011

Требуемое регулярное выражение: /(\d+)\/(\d+)\/(\d+)/, а в preg_match они будут содержаться в массиве $ match, который вы определили в вызове preg_match.

Смотрите здесь: http://php.net/manual/en/function.preg-match.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...