我有两个 m3u8 播放列表,其中包含许多我试图匹配在一起的流。来自 Playlist01 的每个链接在第二个链接中都有它的一对 - Playlist02 并且每一对都有一个公共频道 ID,我想通过它进行匹配。Playlist01 包含如下链接:
#EXTM3U
#EXTINF:-1 tvg-id="Name01" tvg-logo="http://link.png" tvg-chno="100" group-titles="groupone", Name01
path/playlist.php?ch=5101-ab
#EXTINF:-1 tvg-id="Name02" tvg-logo="http://link.png" tvg-chno="160" group-titles="groupone", Name02
path/playlist.php?ch=5102-ab
#EXTINF:-1 tvg-id="Name03" tvg-logo="http://link.png" tvg-chno="650" group-titles="groupone", Name03
path/playlist.php?ch=6234-ab
然后是带有链接的 Playlist02,例如:
#EXTM3U
#EXTINF:-1 tvg-id="Name01" tvg-logo="http://link.png" tvg-chno="100" group-titles="groupone", Name01
http://link345/at/a31350ff5/857183/5101-ab.m3u8
#EXTINF:-1 tvg-id="Name02" tvg-logo="http://link.png" tvg-chno="160" group-titles="groupone", Name02
http://link574/at/bn350frf5/675494/5102-ab.m3u8
#EXTINF:-1 tvg-id="Name03" tvg-logo="http://link.png" tvg-chno="650" group-titles="groupone", Name03
http://link674/at/g4K7J7h0r/845987/6234-ab.m3u8
当然还有一些 Playlist.php,它可以帮助我将来自两个播放列表的链接配对在一起。在 Playlist.php 中,我从 Playlist02 读取数据
<?php
$string = file_get_contents('playlist02.m3u8'); // reading data from playlist02
preg_match_all('/(?P<tag>#EXTINF:-1)|(?<link>http[^\s]+)/', $string, $match ); // parsing data – I want to get just the url links
$count = count( $match[0] );
$result = [];
$index = -1;
for( $i =0; $i < $count; $i++ ){
$item = $match[0][$i];
if( !empty($match['tag'][$i])){
//is a tag increment the result index
++$index;
}elseif( !empty($match['link'][$i])){
$result[$index]['link'] = $item ;
}
}
print_r( $result );
慕姐8265434