如何从一个大字符串使用php获得流的名称


how to get name of streams from a big string using php?

我得到了一个保存流列表的大字符串。我设法获得了流url,但现在我想获得流名称(name1, name2, name 3),以便以后可以使用它们来构建超链接。谁能告诉我怎样才能得到流名?

    preg_match_all("@((https?://)?([-'w]+'.[-'w'.]+)+'w(:'d+)?(/([-'w/_'.]*('?'S+)?)?)*)@", $file_contents, $foo); 
    print_r($foo[1]);
  for($i = 0; $i < count($foo[1]); $i++){
             echo $foo[1][$i]."<br>" ; 
    }//end of for

保存流($file_contents)列表的大字符串示例:

name1 http://somesite.net/all/name1tv.m3u8
name2 http://somesite.net/all/name2tv.m3u8
name3 http://somesite.net/all/name3tv.m3u8

首先,您需要将大字符串拆分为行数组,以便您可以处理每行并提取所需的数据。

您可以使用explode()'n作为分隔符:

$stream_array = explode( ''n', $big_stream_string );

现在你要做的是遍历数组,并使用explode()和一个空格字符作为分隔符——这将把每行分成两部分——第一部分是名称,第二部分是行其余部分:

$names = array();
foreach( $stream_array as $stream ){
  $split = explode( $stream, " " );
  array_push( $names, $split[ 0 ] )
}

您的$names数组现在应该填充流名称。