PHP Parse Master HLS M3U8 Playlist

I have posted an article to parse HLS / M3U8 Links “PHP Parse HLS M3U8 TS Links

Here is new post for grabbing HLS HTTPS links from master m3u8 playlist….

<?php

$hls = "#EXTM3U
#EXT-X-VERSION:3
## Writed by svnlabs 2020 | Skype : svnlabs ## 
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360
https://hls.server.to/m3/QjNlVWtlSFJUT2VKWVNZQWNCNWVvUzRZem9uWFlybGRGQmFYS0FzWGh5M3JwL3YzcTFVaVh5YkJVUkQ4aStzbHBTaCt2bzZSc2U2TCtNYm5LVjBKQWtEWDY5MXdUTnN3eUx2Skh3aU94S1FBNnd6S255R1kzbVRWVlBRUStNNEVtTVI4amJOT01CWGYxcXozUkpLZzU0Mnk2ZFNaOWdOZWFVVXBVODJ3VGlRc28rdTNBNFg2bmZRbE1mdTlwM2RU
#EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720
https://hls.server.to/m3/QjNlVWtlSFJUT2VKWVNZQWNCNWVvUzRZem9uWFlybGRGQmFYS0FzWGh5M3JwL3YzcTFVaVh5YkJVUkQ4aStzbHBTaCt2bzZSc2U2TCtNYm5LVjBKQWtEWDY5MXdUTnN3eUx2Skh3aU94S1FBNnd6S255R1kzbVRWVlBRUStNNEVtTVI4amJOT01CWGYxcXozUkpLZzU4NDl1UFNPK293TkZxRjZ5dGRSVWVteHVPczJBTXBoUld2dEhqTlA1UitQ
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360
https://hls.server.to/m3/QjNlVWtlSFJUT2VKWVNZQWNCNWVvUzRZem9uWFlybGRGQmFYS0FzWGh5M3JwL3YzcTFVaVh5YkJVUkQ4aStzbHBTaCt2bzZSc2U2TCtNYm5LVjBKQWtEWDY5MXdUTnN3eUx2Skh3aU94S1FBNnd6S255R1kzbVRWVlBRUStNNEVtTVI4amJOT01CWGYxcXozUkpLZzU0Mnk2ZFNaOWdOZWFVVXBVODJ3VGlRc28rdTNBNFg2bmZRbE1mdTlwM2RU
#EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720
https://hls.server.to/m3/QjNlVWtlSFJUT2VKWVNZQWNCNWVvUzRZem9uWFlybGRGQmFYS0FzWGh5M3JwL3YzcTFVaVh5YkJVUkQ4aStzbHBTaCt2bzZSc2U2TCtNYm5LVjBKQWtEWDY5MXdUTnN3eUx2Skh3aU94S1FBNnd6S255R1kzbVRWVlBRUStNNEVtTVI4amJOT01CWGYxcXozUkpLZzU4NDl1UFNPK293TkZxRjZ5dGRSVWVteHVPczJBTXBoUld2dEhqTlA1UitQ";


// process the HLS string

// make PHP array
$pieces = explode("\n", $hls); 

// remove #EXTM3U
unset($pieces[0]); 

// remove unnecessary space from array
$pieces = array_map('trim', $pieces); 

// group array elements by two's (1. BANDWIDTH, RESOLUTION  2. LINK) 
$pieces = array_chunk($pieces, 2); 

// debug output
echo "<pre>";
print_r($pieces);
echo "</pre>";

?>