Код скрипта
<?php
$dir = 'input/';
$tvdays = array_diff(scandir($dir), array('..', '.'));
$channels = array(
array(
'name' => 'belarus1',
'title' => 'Беларусь 1',
'img' => 'bt1.jpg'
),
array(
'name' => 'ont',
'title' => 'ОНТ',
'img' => 'ont.jpg'
),
array(
'name' => 'ctv',
'title' => 'СТВ',
'img' => 'ctv.jpg'
),
array(
'name' => 'mir',
'title' => 'Мир',
'img' => 'mirtv.jpg'
),
array(
'name' => 'rtr-bel',
'title' => 'РТР-Беларусь',
'img' => 'rtr-bel.jpg'
),
array(
'name' => 'ntv-bel',
'title' => 'НТВ-Беларусь',
'img' => 'ntv-bel.jpg'
),
array(
'name' => 'bt2',
'title' => 'Беларусь 2',
'img' => 'bt2.jpg'
),
array(
'name' => 'bt3',
'title' => 'Беларусь 3',
'img' => 'bt3.jpg'
),
array(
'name' => 'bt5',
'title' => 'Беларусь 5',
'img' => 'bt5.jpg'
),
array(
'name' => 'kinopremiere',
'title' => 'Кинопремьера',
'img' => 'kinopremiere.jpg'
),
array(
'name' => 'belbizch',
'title' => 'ББЧ',
'img' => 'bbk_logo.png'
),
array(
'name' => 'karusel',
'title' => 'Карусель INT',
'img' => 'karusel.jpg'
),
array(
'name' => 'culture',
'title' => 'Россия-Культура',
'img' => 'culture.jpg'
),
array(
'name' => 'tv3',
'title' => 'ТВ3',
'img' => 'tv3.jpg'
),
array(
'name' => 'setanta-sport-plus',
'title' => 'Сетанта Спорт 2',
'img' => 'setanta-sport-plus.jpg'
),
array(
'name' => 'perec',
'title' => 'Перец I',
'img' => 'perec.jpg'
),
array(
'name' => '5_kanal',
'title' => '5 канал',
'img' => '5_kanal.jpg'
),
array(
'name' => 'visat-nature',
'title' => 'Viasat Nature',
'img' => 'visat-nature.png'
),
array(
'name' => 'vtv',
'title' => 'ВТВ',
'img' => 'vtv.png'
),
array(
'name' => 'tv100ruskino',
'title' => 'TV 1000 Русское кино',
'img' => 'tv100ruskino.png'
),
array(
'name' => 'travelplusadventure',
'title' => 'Travel + Adventure',
'img' => 'travelplusadventure.png'
),
array(
'name' => 'tv1000',
'title' => 'TV 1000',
'img' => 'tv1000.png'
),
array(
'name' => 'kinosemja',
'title' => 'Киносемья',
'img' => 'kinosemja.png'
),
array(
'name' => 'kinosvidanije',
'title' => 'Киносвидание',
'img' => 'kinosvidanije.png'
),
array(
'name' => 'mirseriala',
'title' => 'Сериалы',
'img' => 'mirseriala.png'
),
array(
'name' => 'zhivotnye',
'title' => 'Домашние животные',
'img' => 'zhivotnye.png'
),
array(
'name' => 'tntint',
'title' => 'ТНТ Int',
'img' => 'tnt-belarus.jpg'
),
array(
'name' => 'shansontv',
'title' => 'Шансон ТВ',
'img' => 'shansontv.png'
),
array(
'name' => 'muzskoekino',
'title' => 'Мужское кино',
'img' => 'muzskoekino.png'
),
array(
'name' => 'sonychannel',
'title' => 'Sony Channel',
'img' => 'sonychannel.png'
),
array(
'name' => 'paramauntcomedy',
'title' => 'Paramount Comedy',
'img' => 'paramauntcomedy.jpg'
),
array(
'name' => 'nickelodeon',
'title' => 'Nickelodeon',
'img' => 'nickelodeon.png'
),
array(
'name' => 'ohotnik_i_ribolov',
'title' => 'Охотник и рыболов HD',
'img' => 'ohotnik_i_ribolov.png'
),
array(
'name' => 'europa_plus_tv',
'title' => 'Europa Plus TV',
'img' => 'europe_plus.jpg'
),
array(
'name' => 'ECTV',
'title' => 'English Club TV',
'img' => 'ECTV.png'
),
array(
'name' => 'ysadbatv',
'title' => 'Усадьба ТВ',
'img' => 'ysadbatv.png'
),
array(
'name' => 'edapremium',
'title' => 'ЕДА Премиум',
'img' => 'edapremium.png'
),
array(
'name' => 'Fashion-One',
'title' => 'Fashion One',
'img' => 'Fashion-One.jpg'
),
array(
'name' => 'tourist',
'title' => 'Глазами Туриста',
'img' => 'tourist.jpg'
),
array(
'name' => 'PlusTV',
'title' => '+TV',
'img' => 'PlusTV.jpg'
),
array(
'name' => 'nick_jr',
'title' => 'Nick Jr. Global',
'img' => 'nick_jr.jpg'
),
array(
'name' => 'viasatexplore',
'title' => 'Viasat Explorer',
'img' => 'viasatexplore.png'
),
array(
'name' => 'viasathistory',
'title' => 'Viasat History',
'img' => 'viasathistory.jpg'
),
array(
'name' => 'viasathistoryrussia',
'title' => 'History Russia',
'img' => 'viasathistory.jpg'
),
array(
'name' => 'tv1000action',
'title' => 'TV1000 Action',
'img' => 'TV1000_Action.png'
),
array(
'name' => 'anekdot_tv',
'title' => 'Анекдот-ТВ',
'img' => 'anekdottv.jpg'
),
array(
'name' => 'illusion',
'title' => 'Русский иллюзион',
'img' => 'illusion.jpg'
),
array(
'name' => 'kinocomedy',
'title' => 'Кинокомедия',
'img' => 'kinocomedy.jpg'
),
array(
'name' => 'sci',
'title' => 'SONY Sci-Fi',
'img' => 'scifi_logo.jpg'
),
array(
'name' => 'history2',
'title' => 'History 2',
'img' => 'history2.jpg'
),
array(
'name' => 'setanta_spotrs',
'title' => 'Сетанта Спорт 1',
'img' => 'setanta_spotrs.png'
),
array(
'name' => 'ufc_tv',
'title' => 'UFC TV',
'img' => 'ufc_logo.jpg'
),
array(
'name' => 'belros',
'title' => 'БелРос',
'img' => 'belros.jpg'
),
array(
'name' => 'nano_hd',
'title' => 'Nano HD',
'img' => 'nano_hd.jpg'
),
array(
'name' => 'dom-kino',
'title' => 'Дом кино',
'img' => 'dom-kino.jpg'
),
array(
'name' => 'tnt-music',
'title' => 'ТНТ Music',
'img' => 'tnt-music.jpg'
),
array(
'name' => 'domashniu',
'title' => 'Домашний I',
'img' => 'domashniu.png'
),
array(
'name' => 'minsktv',
'title' => 'ЯСНАе ТВ',
'img' => 'minsktv.jpg'
),
array(
'name' => 'autoplus',
'title' => 'Авто Плюс',
'img' => 'autoplus.jpg'
),
);
foreach ($tvdays as $tvday) {
$fileName = 'input/' . $tvday;
$outputName = 'output/' . $tvday;
$write = file_get_contents($fileName);
foreach ($channels as $channel) {
$write = editing($channel, $write);
}
$write = preg_replace('/#\.(?=[\s*(\r\n)(\n\r)\n\r])#u/', "", $write);
$pieces = explode("\r\n", $write);
foreach ($pieces as $piece) {
$write = str_replace($piece, "<li>" . $piece . "</li>", $write);
}
$write = str_replace("<li><tr><td>", "</ul></div><div class='tv-channel'>", $write);
$write = str_replace("</td></tr></li>", "<ul>", $write);
$write = '<div class="tv-day"><div class="tv-date"><ul>' . $write;
$write .= '</ul></div></div>';
$write = file_put_contents($outputName, $write);
}
function editing($channel, $subString)
{
$pattern = '/(?<=(\r\n))' . preg_quote($channel['title']) . '/u';
$replacement = '<tr><td><img id="' . $channel['name'] . '" src="/parser/tv/logo/' . $channel['img'] . '" alt="ТВ программа ' . $channel['title'] . '" title="ТВ программа ' . $channel['title'] . '" width="50" height="50"></td>' . '<td><h3>Канал ' . $channel['title'] . '</h3></td></tr>';
$subString = preg_replace($pattern, $replacement, $subString);
return $subString;
}