Создание плейлистов в формате PlayerJS регулярными выражениями
название сайта
Авторизация

PlayerJS плейлисты регулярными выражениями

+4
DataLife Engine / Вебмастер2 комментария
Данный материал будет полезен тем, кто собирает и формирует в ручном режиме плейлисты с сериалами, фильмами, и любыми iframe ссылками. 

Создание плейлиста своими руками

Рутинная работа никому не интересна, а когда вам нужно вставит в плейлист много ссылок на сериал, мультсериал, мыльную оперу, терпению может прийти конец.  smile

А получилось все просто, один из моих клиентов поинтересовался, можно ли как то автоматизировать эту рутину с плейлистами.

Несмотря на то, что у него на сайте установлен модуль который автоматически формирует плейлисты в формате PlayerJS из плейлистов Ютуба, ему нужны были ссылки из разных источников. Примером послужил сериал Улица 2019 в котором 160 серий.

Заказчик предоставил ссылки вот в таком виде:
<option value="https://rutube.ru/play/embed/10629771">01 серия</option><option value="https://rutube.ru/play/embed/10645692">02 серия</option><option value="https://rutube.ru/play/embed/10631598">03 серия</option><option value="https://rutube.ru/play/embed/10633451">04 серия</option><option value="https://rutube.ru/play/embed/10635596">05 серия</option><option value="https://rutube.ru/play/embed/10643476">06 серия</option><option value="https://rutube.ru/play/embed/10645849">07 серия</option><option value="https://rutube.ru/play/embed/10648529">08 серия</option><option value="https://rutube.ru/play/embed/10650079">09 серия</option><option value="https://rutube.ru/play/embed/10657431">10 серия</option><option value="https://rutube.ru/play/embed/10659650">11 серия</option><option value="https://rutube.ru/play/embed/10661439">12 серия</option><option value="https://rutube.ru/play/embed/10663744">13 серия</option><option value="https://rutube.ru/play/embed/10670724">14 серия</option><option value="https://rutube.ru/play/embed/10670773">15 серия</option><option value="https://rutube.ru/play/embed/10673355">16 серия</option>



А ему нужно было привести данную строку с кучей ссылок к формату который использует PlayerJS. 

Особо не стал заморачиваться, а сделал это при помощи Microsoft Excel и регулярных выражений Notepad++.



Пошаговая инструкция по созданию плейлиста


1. Создем шаблон будущего плейлиста в Microsoft Excel, вот такого вида. Вы можете взять данный файл за основу. 

Шаблон плейлиста в Microsoft Excel

Скачать шаблон плейлиста: 
plejlist-shablon-1.zip [6.4 Kb] (cкачиваний: 42)



Думаю, что все умеют пользоваться Microsoft Excel и пояснять, как протянуть столбец вниз объяснять не нужно!

Формируем шаблон на нужно количество серий.



2. Регулярными выражениями Notepad++ приводим строку со ссылками к виду, когда все ссылки располагаются в столбик.

Начнем с переноса строк в файле регулярными выражениями. 

Найти:
"

Заменить на:
\r\n

Регулярные выражения поиск и замена 1


3. Теперь в полученном списке нам нужно удалить все лишнее, для того чтобы остались только ссылки. И снова нам на помощь придут регулярными выражениями Notepad++. 

Копируем из списка который у нас получился строчку, которую нужно удалит. В моем примере одна выглядит так:
>01 серия</option><option value=

Две точки в поиске, это два любых символа. В нашем случае, это номера серий.

Найти:
>.. серия</option><option value=


Заменить на пусто.


Вот так это выглядит на картинке:

Регулярные выражения поиск и замена на пусто


После данной операции и удаления первой и последней строки, мы получаем список ссылок. Примерно такого вида как на картинке ниже:

Регулярные выражения поиск и замена результат

4. Удаляем лишние строки в списке со ссылками.

И удаление пустых строк оказалось тривиальной задаче в Notepad++. 


Идем в меню:

Правка - Операции со Срокам - Удалит пустые строки.


Удаление пустых строк в Notepad++


Получили список со ссылками, который выглядит вот так:

Список ссылок для плейлиста

5. Копируем содержимое списка и вставляем в шаблон Microsoft Excel.

Получаем вот такой плейлист.

Плейлист в шаблоне

6. Последним штрихом в создании нашего плейлиста, будет удаление лишних пробелов. 

Копируем содержимое из Excel в Notepad++.

Выделение и копирование плейлиста из Эксель файла


Вставил содержимое в файл Notepad++, явно видно пробелы которые надо удалить. Иначе, плейлист не будет работать в PlayerJS.

Плейлист с пробелами которые надо удалить

Удаление делаем в два этапа. Первый этап это удаление всех пробелов, а вторым этапом добавим пробелы там где они нужны. 
Как по мне, это проще и быстрее.
 

Выделяем пробел который надо удалит:

Выделение пробела для последующего удаления


Далее нажимаем Ctr + F, заменить на пусто.

Удаление лишних пробелов в плейлисте

И заключительный штрих в плейлисте, добавление пробела перед словом "серия".

Добавление пробела в файле плейлиста там где он нужен



Результат работы надо плейлистом


Такими не хитрыми манипуляциями, мы получим вот такой текстовый файл плейлиста.

[
{"title":"1 серия","file":"https://rutube.ru/play/embed/10629771"},
{"title":"2 серия","file":"https://rutube.ru/play/embed/10645692"},
{"title":"3 серия","file":"https://rutube.ru/play/embed/10631598"},
{"title":"4 серия","file":"https://rutube.ru/play/embed/10633451"},
{"title":"5 серия","file":"https://rutube.ru/play/embed/10635596"},
{"title":"6 серия","file":"https://rutube.ru/play/embed/10643476"},
{"title":"7 серия","file":"https://rutube.ru/play/embed/10645849"},
{"title":"8 серия","file":"https://rutube.ru/play/embed/10648529"},
{"title":"9 серия","file":"https://rutube.ru/play/embed/10650079"},
{"title":"10 серия","file":"https://rutube.ru/play/embed/10657431"},
{"title":"11 серия","file":"https://rutube.ru/play/embed/10659650"},
{"title":"12 серия","file":"https://rutube.ru/play/embed/10661439"},
{"title":"13 серия","file":"https://rutube.ru/play/embed/10663744"},
{"title":"14 серия","file":"https://rutube.ru/play/embed/10670724"},
{"title":"15 серия","file":"https://rutube.ru/play/embed/10670773"},
{"title":"16 серия","file":"https://rutube.ru/play/embed/10673355"}
]

Конечно же я сократил файл.  smirk



Как убрать каждую нечетную строку в Notepad ++?


Бывает так, что с донора можно взять не только номера серий, но и название серии.

И при помощи регулярных выражений Notepad ++ описанных выше, файл можно привести к виду как показано на рисунке ниже.

Удаление нечетных строк в Notepad ++

Легким движение рук, удаляются все нечетные строки в списке вот такими регулярными выражениями.

Вы можете сделать это с помощью поиска и замены:
  • Откройте диалог замены ( CtrlH)
  • Выберите «Регулярное выражение»
  • Найти то, что: .+\r\n(.+(\r\n|$))
  • Заменить:
    $1
  • Нажмите «Заменить все»

На выходе вы получите файл вот такого вида:

Файл после удаление нечетных строк в Notepad ++

Если нужно содержание четных строк. Просто добавьте одну строку в верхней части файла и на выходе вы получите вот такой результат:

Файл после удаление четных строк в Notepad ++



После всех этих манипуляций со ссылками, плейлист в формате PlayerJS можно использовать на вашем сайте.

Если у Вас есть более легкий способ выполнения данной задачи, напишите. Я возьму ваш вариант на заметку.
Читайте также

Отметьте картинки:*
  1. Владимир
    Владимир
    23 апреля 2023 10:38
    а  на  фига, если ссылки  с Ютуба на андроиде  в IPTV  приставках не  воспроизводятся?
    А так да, зачет!
    1. thin
      25 апреля 2023 09:32
      Ответ на ваш вопрос в заголовке! Ключевое слово - PlayerJS.

      А ссылки из ютуб, это пример.
new.thin.kiev.ua
Авторизация