За последние 24 часа нас посетили 52660 программистов и 1732 робота. Сейчас ищут 753 программиста ...

В каком направлении приступить к решению новичку?

Тема в разделе "PHP для новичков", создана пользователем forever_young, 24 мар 2017.

  1. forever_young

    forever_young Новичок

    С нами с:
    24 мар 2017
    Сообщения:
    26
    Симпатии:
    2
    Приветствую!
    Имеются несколько десятков txt-файлов с ТВ-программой в сокращенном виде:

    Discovery Russia (Сокращенно)
    Понедельник, 20 Марта
    09:00, 15:00 Золотая лихорадка: Берингово море 16+
    10:00, 16:30, 22:30, 06:55 Как это устроено? 12+
    10:30, 16:00, 22:00, 06:30 Как это сделано? 12+
    11:00, 17:00, 00:00, 08:10 Склады: битва в Канаде 12+
    11:30, 17:30, 00:30, 08:35 Битва за недвижимость 12+
    12:00, 13:00, 14:00 Уйти от погони 12+
    18:00, 23:00, 03:55 Великий махинатор 12+
    19:00 Остров с Беаром Гриллсом 16+
    20:00 Эд Стаффорд: голое выживание 16+
    21:00 Аляска: семья из леса 16+
    01:00, 04:50 Выжить любой ценой 16+
    02:00, 07:20 Не пытайтесь повторить 16+
    03:00, 03:25, 05:40, 06:05 Молниеносные катастрофы 16+

    Вторник, 21 марта.....

    И нужно эти файлы сохранить в rtf-формате, но уже в таком виде:

    Discovery Russia (Сокращенно)
    Понедельник
    10:00 Как это устроено?
    10:30 Как это сделано?
    11:00 Склады: битва в Канаде
    11:30 Битва за недвижимость
    12:00 Уйти от погони
    15:00 Золотая лихорадка: Берингово море
    16:00 Как это сделано?
    16:30 Как это устроено?
    17:00 Склады: битва в Канаде
    17:30 Битва за недвижимость
    18:00 Великий махинатор
    19:00 Остров с Беаром Гриллсом
    20:00 Эд Стаффорд: голое выживание
    21:00 Аляска: семья из леса
    22:00 Как это сделано?
    22:30 Как это устроено?
    23:00 Великий махинатор
    00:00 Склады: битва в Канаде
    00:30 Битва за недвижимость
    01:00 Выжить любой ценой
    02:00 Не пытайтесь повторить

    Вторник

    Вопросы:
    1) Как сделать, чтобы каждое время из расписания было по возрастанию и с новой строки (какими функциями воспользоваться, чтобы внимательно их поизучать)?
    2) Каким образом сохраняются файлы в rtf?
     
  2. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Если они все однотипны то тебе нужно парсер написать.
    Я бы попробовал привести всё к подобному массиву
    PHP:
    1. $arr = [
    2.     0 => [
    3.         'time' => [
    4.             0 => [
    5.                 'hour' => 9,
    6.                 'min' => 0
    7.             ],
    8.             1 => [
    9.                 'hour' => 15,
    10.                 'min' => 0
    11.             ]
    12.         ],
    13.         'event' => 'Золотая лихорадка: Берингово море 16+'
    14.     ]
    15. ];
    А потом бы уже сортировал его по циклу при чём если я правильно понял ТС, Я бы сортировал просто по первому элементу массива time.
    А отсортировав уже бы складывал это потом обратно в строку.
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    По поводу rtf: https://phpword.codeplex.com/documentation

    По поводу преобразования - я бы попробовал регулярки, чтоб выделить время. Наверное такая пойдёт:
    Код (Text):
    1. \d\d:\d\d
    и занёс бы просто в ассоциативный массив.Чтоб получить название передачи, можно сделать preg_replace, регулярку сам подумай :)
     
    askanim нравится это.