Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите с простым скриптом-обработчиком текстового файла
Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2017
Помог: 0 раз(а)
Здравствуйте.
Столкнулся с необходимостью обработки текстового файла скриптом.
сам никак. Прошу помощи.
Алгоритм работы скрипта такой:
1. Удаляется всё до строки, начинающейся с символа #
2. Строка формата
# · 00:44.291 > 00:46.894
заменяется на две строки в формате
1
00:00:44,291 --> 00:00:46,894
где # заменяется порядковым номером, начиная с 1 (в идеале: 1 - по умолчанию, но если можно будет запускать с ключом, задающим начало отсчета, то здорово, если нет, то тоже хорошо)
В исходном варианте символ-стрелка между цифрами может быть другим (см. пример ниже), формат времени может быть 00.000 или 00:00.000 или 00:00:00.000 (вместо последней точки допускаю, что может быть запятая, хотя не встречал, но в скрипте лучше предусмотреть)
В итоговом варианте формат времени только 00:00:00,000 (с запятой)
3. удаляются пустые строки (в них возможны пробелы и табуляция)
4. непустые строки с текстом оставляются до первой встреченной пустой строки.
5. удаляются пустые строки (возможны пробелы и табуляция) и все последующие непустые строки до встречи символа #
6. далее возврат к п.2
1
00:04:00,288 --> 00:04:02,422
Такое, что бывает в детстве,
2
00:04:02,423 --> 00:04:03,724
и ты думаешь, что больше такого не будет,
3
00:04:03,725 --> 00:04:05,693
чувство опустошенности,
4
00:04:05,694 --> 00:04:08,996
пустота внутри, и кажется,
её уже ничего не заполнит.
LIME
Отправлено: 10 Февраля, 2017 - 22:46:55
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
100$
Ну это не вопрос одного ответа смысле
Это целая маленькая прога
Может кто из новичков захочет потренироваться
Строитель
Отправлено: 10 Февраля, 2017 - 23:01:27
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
LIME пишет:
Ну это не вопрос одного ответа смысле
Это целая маленькая прога
+++ Подобные скрипты вроде бы заказывают на платной основе.
Сергей4
Отправлено: 10 Февраля, 2017 - 23:04:26
Новичок
Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2017
Помог: 0 раз(а)
LIME пишет:
Это целая маленькая прога
Неужели всё так серьёзно? ))
А насчет
LIME пишет:
100$
я специально указал, что речь идёт о субтитрах. Которые, в принципе, тоже стоят чего-то, но делаются чисто "из любви к искусству".
Чтобы перевести одну 45-минутную серию, нужно потратить 5-7 часов.
LIME пишет:
Может кто из новичков захочет потренироваться
А может есть кто из "старичков", кто смотрит фильмы или сериалы с субтитрами бесплатно? )))
Так сказать, натуральный обмен ...
Навскидку думаю, что тут строк 20-60 кода будет. И 0,5 - 2 часа работы, в зависимости от опыта. Мудрить с нумерацией не обязательно. Просто скрипт для обработки txt.
Или я ошибаюсь? (Добавление)
Строитель пишет:
+++ Подобные скрипты вроде бы заказывают на платной основе.
Или, возможно, я просто ошибся форумом.
Если так, то извиняюсь.
Если не ошибся, то со скриптом обязательно помогут.
LIME
Отправлено: 10 Февраля, 2017 - 23:24:01
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Сергей4 пишет:
Неужели всё так серьёзно? ))
Нет конечно
Для меня это семечки
Для новичка это сложно но возможность пробовать силы Сергей4 шутишь? Не
Натурального обмена не получится
Открою секрет
Любой хороший прогер стоит хороших денег и сможет монтировать видео и скорее всего это делал или делает
Короче это неполноценный обмен
--------
Форумом ты не ошибся
Тут бывает помогают Строитель че ты выделываешься? Помоги пацану ты же не ахти какой кодер
Вот и потренируйся
Кстати задача не такая простая
Ты ахренеешь если возмешся
Строитель
Отправлено: 10 Февраля, 2017 - 23:28:08
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
LIME пишет:
Строитель че ты выделываешься? Помоги пацану ты же не ахти какой кодер
Вот и потренируйся
Кстати задача не такая простая
Ты ахренеешь если возмешся
Я? Не, я пасс. По той причине, что я ему напишу бесплатно, а он этот скрипт кому-то продаст Вы верно выше по тексту заметили - "это не вопрос одного ответа ... Это целая маленькая прога".
LIME
Отправлено: 10 Февраля, 2017 - 23:36:37
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Эт да
Можно на ты если Вы не против
Но яб взялся на твоем месте
Любая задача парсинга если это не найти кусок текста сложна
А тут хороший такой кусок задачи
Возьмись
Справишся можешь потом пальцы гнуть
Но ты зассышь
Это же два дня пахать не меньше (Добавление) Сергей4 я его подстрекаю
Понял да? Я за тебя Строитель шутка
Хрена асилишь
Строитель
Отправлено: 10 Февраля, 2017 - 23:42:56
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
LIME пишет:
Можно на ты если Вы не против
Я не против
LIME пишет:
Справишся можешь потом пальцы гнуть
Я уже писал подобные скрипты Как видишь - пальцы не гну, т.к. не такая уж это сложная программа.
LIME пишет:
Но ты зассышь
Не, просто не возмусь, я выше уже говорил, почему.
LIME пишет:
Это же два дня пахать не меньше
Я думаю, что тут и одного дня с головой достаточно. (Добавление)
LIME пишет:
Строитель шутка
Хрена асилишь
ну, пусть будет по твоему ))
LIME
Отправлено: 10 Февраля, 2017 - 23:49:06
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Не
Серьезно тут не так просто
Начни думать над прогой
Сколько веток условий?
Замахаешься
Ну. Значит нет) (Добавление)
Одного дня? Хрена там (Добавление)
Малолетки такие наглые
Строитель
Отправлено: 10 Февраля, 2017 - 23:55:10
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
LIME пишет:
тут не так просто
Да просто ) Тут надо регулярное выражение написать. Это пожалуй самое сложное из всего скрипта. Сам файл прочитать ф-ей file(), необязательными параметрами в ней указать константы, игнорирующие пустые строки (этот пункт есть в задании). Ну и обработанный регуляркой результат "загнать" в массив, и записать его в текст.файл. Всё ))
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Хрена там
Нет
Веришь будет сложнее чем думаешь
Порядковый номер как сделаешь?
Я знаю как
Ты знаешь? (Добавление)
А формат времени?
Регулярка не проканает
Поверь это сложно (Добавление)
Я давно понял что пирсинг текста это то что новички думают что могут
И спотыкаются
Я опытный дядя
Поверь задача сложная
Строитель
Отправлено: 11 Февраля, 2017 - 00:06:26
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
LIME пишет:
Порядковый номер как сделаешь?
Скорее всего это будут ключи нового массива с инкрементом, т.к. нумерация ключей пойдёт с нуля, а нужно с единицы. А ты как думаешь? (Добавление)
LIME пишет:
А формат времени?
Регулярка не проканает
Поверь это сложно
Я не углублялся в задачу на столько, чтобы на все пункты дать ответ. Но если одна регулярка не прокатит, то напишу другую. Или заюзаю подходящую функцию для работы со временем + регулярку для пирсинга
LIME
Отправлено: 11 Февраля, 2017 - 00:19:00
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Да хоть с минус пяцот
Как в регулярке будешь результат нумеровать?
По любому надо разбить файл
Уже начинаешь понимать что не все те яйца что блестят?
Задача непростая
Отвечаю
Строитель
Отправлено: 11 Февраля, 2017 - 07:54:52
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
LIME пишет:
Да хоть с минус пяцот
Как в регулярке будешь результат нумеровать?
По любому надо разбить файл
Уже начинаешь понимать что не все те яйца что блестят?
Задача непростая
Отвечаю
Нет стимула её обдумывать, понимаешь?
LIME
Отправлено: 11 Февраля, 2017 - 08:00:47
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Понимаю
Самому лениво
Решишь за 2 часа кину тебе 2000 р
Это стимул?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.