不播放间接 link,但直接 link 正在工作
Not Playing indirect link, however direct link is working
我有这段代码,它适用于直接 links。
我什至让解析器工作,所以它拉出 free2viewtv 列表,但是当我单击使用解析器创建的 link 之一时,它不起作用..
但是,如果我点击 247 Retro TV,效果很好,我知道那是因为 247 Retro TV 是直接 link。
但对于我来说,我就是看不出哪里出了问题
<li>
<a class="chlist" data-value="<?php echo $item['tvmedia']; ?>" href="javascript:void(0)";><?php echo $item['tvtitle']; ?></a>
</li>
这是完整的php。
<?php
require_once 'parser-Free2ViewTV.php';
require_once 'config.php';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<h5 class="glow"><a href="Livestreams.php"></i>Free 2 View Web Player</h5></a>
<script type="text/javascript" src="list.min.js"></script>
<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="hls.js"></script>
<link rel="stylesheet" href="player.css" media="all">
<script src="player.js" async></script>
</head>
<body>
<div id="videodiv">
<video controls='none' id='myvideo' preload='none' tabindex='0'>
<source id="primarysrc" src='none' type="application/x-mpegURL"/></video>
</div>
<div id="tvlist">
<input id="findfield" class="customSearch search" type="search" placeholder="find ..." />
<br>
<ul id='playlist' class='list'>
<?php foreach ($items as $item) {?>
<li><a class="chlist" data-value="<?php echo $item['tvmedia']; ?>" href="javascript:void(0)";><?php echo $item['tvtitle']; ?></a></li>
<?php } ?>
<li><a class='chlist' href='http://hlsdpi-cdn-chqtx02.totalstream.net/dpilive/247retro/ret/dai/playlist.m3u8'>247 Retro TV</a></li>
</ul>
</div>
</body>
</html>
正在使用的解析器是:-
<?php
$m3ufile = file_get_contents('https://raw.githubusercontent.com/geonsey/Free2ViewTV/master/Free2ViewTV-2020-Remote.m3u');
$m3ufile = str_replace('group-title', 'tvgroup', $m3ufile);
$m3ufile = str_replace('.ts', '.m3u8', $m3ufile);
$m3ufile = str_replace("tvg-", "tv", $m3ufile);
$re = '/#EXTINF:(.+?)[,]\s?(.+?)[\r\n]+?((?:https?|rtmp):\/\/(?:\S*?\.\S*?)(?:[\s)\[\]{};"\'<]|\.\s|$))/';
$attributes = '/([a-zA-Z0-9\-]+?)="([^"]*)"/';
preg_match_all($re, $m3ufile, $matches);
$i = 1;
$items = array();
foreach($matches[0] as $list) {
preg_match($re, $list, $matchList);
$mediaURL = preg_replace("/[\n\r]/","",$matchList[3]);
$mediaURL = preg_replace('/\s+/', '', $mediaURL);
$newdata = array (
'id' => $i++,
'tvtitle' => $matchList[2],
'tvmedia' => $mediaURL
);
preg_match_all($attributes, $list, $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
$newdata[$match[1]] = $match[2];
}
$items[] = $newdata;
}
?>
我也试过了
<li><a class="chlist" data-value="<?php echo $item['tvmedia']; ?>" href=$item['tvmedia'];><?php echo $item['tvtitle']; ?>
但是 $item['tvmedia'];
没有将 link 放入 href
您需要将 href 值放在引号中并用 PHP 回显该值(就像回显其他值一样)例如
href="<?php echo $item['tvmedia']; ?>"
这是假设 $item['tvmedia']
包含有效的 URL,当然 :-)
我有这段代码,它适用于直接 links。 我什至让解析器工作,所以它拉出 free2viewtv 列表,但是当我单击使用解析器创建的 link 之一时,它不起作用..
但是,如果我点击 247 Retro TV,效果很好,我知道那是因为 247 Retro TV 是直接 link。
但对于我来说,我就是看不出哪里出了问题
<li>
<a class="chlist" data-value="<?php echo $item['tvmedia']; ?>" href="javascript:void(0)";><?php echo $item['tvtitle']; ?></a>
</li>
这是完整的php。
<?php
require_once 'parser-Free2ViewTV.php';
require_once 'config.php';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<h5 class="glow"><a href="Livestreams.php"></i>Free 2 View Web Player</h5></a>
<script type="text/javascript" src="list.min.js"></script>
<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="hls.js"></script>
<link rel="stylesheet" href="player.css" media="all">
<script src="player.js" async></script>
</head>
<body>
<div id="videodiv">
<video controls='none' id='myvideo' preload='none' tabindex='0'>
<source id="primarysrc" src='none' type="application/x-mpegURL"/></video>
</div>
<div id="tvlist">
<input id="findfield" class="customSearch search" type="search" placeholder="find ..." />
<br>
<ul id='playlist' class='list'>
<?php foreach ($items as $item) {?>
<li><a class="chlist" data-value="<?php echo $item['tvmedia']; ?>" href="javascript:void(0)";><?php echo $item['tvtitle']; ?></a></li>
<?php } ?>
<li><a class='chlist' href='http://hlsdpi-cdn-chqtx02.totalstream.net/dpilive/247retro/ret/dai/playlist.m3u8'>247 Retro TV</a></li>
</ul>
</div>
</body>
</html>
正在使用的解析器是:-
<?php
$m3ufile = file_get_contents('https://raw.githubusercontent.com/geonsey/Free2ViewTV/master/Free2ViewTV-2020-Remote.m3u');
$m3ufile = str_replace('group-title', 'tvgroup', $m3ufile);
$m3ufile = str_replace('.ts', '.m3u8', $m3ufile);
$m3ufile = str_replace("tvg-", "tv", $m3ufile);
$re = '/#EXTINF:(.+?)[,]\s?(.+?)[\r\n]+?((?:https?|rtmp):\/\/(?:\S*?\.\S*?)(?:[\s)\[\]{};"\'<]|\.\s|$))/';
$attributes = '/([a-zA-Z0-9\-]+?)="([^"]*)"/';
preg_match_all($re, $m3ufile, $matches);
$i = 1;
$items = array();
foreach($matches[0] as $list) {
preg_match($re, $list, $matchList);
$mediaURL = preg_replace("/[\n\r]/","",$matchList[3]);
$mediaURL = preg_replace('/\s+/', '', $mediaURL);
$newdata = array (
'id' => $i++,
'tvtitle' => $matchList[2],
'tvmedia' => $mediaURL
);
preg_match_all($attributes, $list, $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
$newdata[$match[1]] = $match[2];
}
$items[] = $newdata;
}
?>
我也试过了
<li><a class="chlist" data-value="<?php echo $item['tvmedia']; ?>" href=$item['tvmedia'];><?php echo $item['tvtitle']; ?>
但是 $item['tvmedia'];
没有将 link 放入 href
您需要将 href 值放在引号中并用 PHP 回显该值(就像回显其他值一样)例如
href="<?php echo $item['tvmedia']; ?>"
这是假设 $item['tvmedia']
包含有效的 URL,当然 :-)