NikolayRostov
@NikolayRostov
Самоучка

Как вывести строки из файла старше текущей даты?

Добрый день! У меня не хватает фантазии, чтобы с помощью php вывести строки из текстового файла. Мне нужны строки, чья дата старше текущей на два дня. Пример данных в файле:
1 13.01.2017 14,5% 7,230 72,30 RUR
2 14.07.2017 14,5% 7,230 72,30 RUR
3 12.01.2018 14,5% 7,230 72,30 RUR
4 13.07.2018 14,5% 7,230 72,30 RUR
5 11.01.2019 14,5% 7,230 72,30 RUR
6 12.07.2019 14,5% 7,230 72,30 RUR
7 10.01.2020 14,5% 7,230 72,30 RUR
8 10.07.2020 14,5% 7,230 72,30 RUR
9 08.01.2021 14,5% 7,230 72,30 RUR
10 09.07.2021 14,5% 7,230 72,30 RUR
11 07.01.2022 14,5% 7,230 72,30 RUR
12 08.07.2022 14,5% 7,230 72,30 RUR
13 06.01.2023 14,5% 7,230 72,30 RUR
14 07.07.2023 14,5% 7,230 72,30 RUR
15 05.01.2024 14,5% 7,230 72,30 RUR
16 05.07.2024 14,5% 7,230 72,30 RUR
17 03.07.2026 14,5% 7,230 72,30 RUR 100 1000 RUR

В строке между номером, датой и процентами используется делитель tab и/или пробел для выравнивания текста.
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
<?php
$f = fopen("your.file", "r");
if ($f) {
    $today =  strtotime(date("Y-m-d"));
    while (($line = fgets($f)) !== false) {
        preg_match('/\d+\s(\d{2}\.\d{2}\.\d{4})/', $line, $m);
        if ($m && strtotime($m[1]) < $today) {
            echo $line . PHP_EOL;
        }
    }
    fclose($f);
}

https://phpize.online/s/lU
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
csv парсер и проход по всем строкам с фильтром
или используйте sed
https://www.unix.com/shell-programming-and-scripti...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽