更新:这是我基于正则表达式的地方..
http://www.phpliveregex.com/p/iLL
我无法想象我的生活。我认为它很简单,但显然不是。
在一个应用程序上,我试图返回一个url,已经在一个单独的页面上解析,以避免跨域错误并返回该URL。问题是它在url返回IE的末尾添加了#.m3u8。
http://ipaddress/stringHere/stringHere/link.m3u8#.m3u8
这是我的代码..
此页面是进行解析的地方。
<?php
header("Access-Control-Allow-Origin: *");
header("Connection: keep-alive");
header("Content-Type: video/vnd.apple.mpegurl");
header("Accept-Ranges: bytes");
?>
<?php
ob_start(); // ensures anything dumped out will be caught
$html = file_get_contents("https://www.example.com/s/");
preg_match_all(
'/((?:(?:f|ht){1}tp:\/\/)[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+.m3u8)/',
$html,
$posts, // will contain the article data
PREG_SET_ORDER // formats data into an array of posts
);
foreach ($posts as $post) {
$link = $post[1];
// clear out the output buffer
while (ob_get_status())
{
ob_end_clean();
}
// no redirect
header( "Location: $link" );
}
?>
这是应用程序调用的页面,并返回了链接。
<?php
header("Access-Control-Allow-Origin: *");
header("Connection: keep-alive");
header("Content-Type: video/vnd.apple.mpegurl");
header("Accept-Ranges: bytes");
header("Cache-Control: private, max-age=0, must-revalidate");
?>
<html>
<body>
<?php
include ("parse.php");
?>
</body>
</html>
结果是
http://ipAddress/hls/3691308f2a4c2f6983f2880d32e29c84-313391.m3u8#.m3u8
我真正需要的是将ip替换为特定的ip并删除#.m3u8
http://replacedAddress/hls/3691308f2a4c2f6983f2880d32e29c84-313391.m3u8
我希望有人可以提供帮助。我把头发拉了出来。