我有一个外部文件,该文件使用带有令牌和到期日期的动态URL在我的网站上呈现视频.看起来像这样:
https://www.thevideositeurl.com/embed/231231/
$vid = 231231;
$url = file_get_contents("https://www.thevideositeurl.com/embed/{$vid}/")
echo $url ;
然后呈现JavaScript波纹管以及一些html
<script type="text/javascript">
var sources = [
{
type:"video/mp4",
src:"https://cdn.myvenue.com/media/clips/491355/clip_saple_hd.mp4?expire=1525179619&token=1e52da03af581764724c0e2c428a9faa",
res:"VideoSample",
label: "VideoSample"
}
];
videojs("video", {
nativeControlsForTouch: true,
autoplay: false,
controls: true,
width:'100%',
fluid: true,
loop: false,
muted: false,
poster: "https://cdn.static.myvenue.com/media/assets/images/image.jpg",
etc., etc., etc.
问题是我只需要获取视频URL(请记住:它是动态的):
https://cdn.myvenue.com/media/clips/491355/clip_saple_hd.mp4?expire=1525179619&token=1e52da03af581764724c0e2c428a9faa
这可能吗?
解决方法:
假设您想在源数组中找到第一个对象(或者可能只有一个),您可以像这样获取视频网址;
var videoURL = sources[0].src;
Update // for PHP code, based on a modified version of @Moti’s regex
echo $url;
preg_match('/https:\/\/cdn\.myvenue\.com\/[^\"]*/', $url, $matches, PREG_OFFSET_CAPTURE);
$videoURL = ($matches[0][0]);
echo $videoURL;