@OneOlOf

Как из строки вытянуть дату?

Добрый день. Есть строка такого вида

от 03-09-2021 до 13-10-2021

Как правильно вытащить из нее 2 даты. Мне только костыли на ум приходят.
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
0xD34F
@0xD34F
preg_match_all('~\b\d{2}-\d{2}-\d{4}\b~', $str, $matches);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Понятный простой костыль:
1. убрать лишнее "от"
2. разделить строку по "до"
3. распарсить даты

$input = 'от 03-09-2021 до 13-10-2021';
list($from, $to) = array_map('strtotime', explode(' до ', trim($input, ' от')));

// test output
echo date('Y-m-d', $from) . "\t" . date('Y-m-d', $to);


Но лучше разобраться как работают регулярки (это многократно окупится), и применить решение 0xD34F.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы