Php 从数组构造清晰的url

Php 从数组构造清晰的url,php,arrays,youtube,preg-replace,Php,Arrays,Youtube,Preg Replace,我有一个数组,它几乎有150个值,比如 { [0]=> string(670) "https://r3---sn-oguesnl6.googlevideo.com/vide.......................xpire=1407349366&mws=yes" [1]=> string(36) "type=video/mp4; codecs="avc1.640028"" [2]=> string(10) "init=0-712" [3]=

我有一个数组,它几乎有150个值,比如

    { [0]=> string(670)
    "https://r3---sn-oguesnl6.googlevideo.com/vide.......................xpire=1407349366&mws=yes" [1]=> string(36) "type=video/mp4; codecs="avc1.640028"" [2]=> string(10)
    "init=0-712" [3]=> string(8) "itag=137" [4]=> string(15) "bitrate=4138626" [5]=> string(9) "=713-1080" [6]=> string(20) "lmt=1407180456062432" [7]=> string(28) "clen=52223505,size=1920x1080" .............}
等等。上面我使用了var_dum来显示数组长度。数组中几乎有10个url,所有url的长度都为500个字符或更多。所以我不需要所有的数组值,除了字符串长度500或更多。我想我可以使用if和for循环来回显所有的URL,但是我没有把它们放在一起

在使用url数组之后,还有另一个问题。在url数组中,有时一开始它可能包含

"url=https://r3---sn-oguesnl6.googlevideo.com....." 
最后就像

"url=https://r3---sn-oguesnl6.googlevideo.com.....xpire=1407349366&mws=yes,itag=137"
我想删除https之前和之后的所有字符,包括它。我想回显url

如果可能的话,我想更进一步。在数组中还有一个长度为8个字符的数组。实际上我想取itag值

[3]=> string(8) "itag=137"
但字符串的长度总是不一样,有时就像

[3]=> string(12) "type=mp4,itag=137"
itag值总是会像itag=136一样变化

最后我想要一个这样的结果

    136 => https://r3---sn-oguesnl6.googlevideo.com/videoplayback?ms=au&mv.......
    137 => https://r2---sn-oguesnl6.googlevideo.com/videoplayback?ms=au&mv.......
    22 => https://r4---sn-oguesnl6.googlevideo.com/videoplayback?ms=au&mv.......
    37 => https://r7---sn-oguesnl6.googlevideo.com/videoplayback?ms=au&mv.......
    .......................................
如果不是的话,这是可能的,我只想选择url。任何帮助都将不胜感激

更新


您是如何生成排在第一位的数组的?这可能是你应该集中注意力的地方也许你是对的。。。我已经使用了explode和paese_str函数…从tehm我认为这会更容易…如果你愿意看到我如何创建我可以展示的阵列you@user574632Sure,显示您是如何创建阵列的,我将看一看请看更新部分@user574632下载的$download是什么样子的?是html吗?请显示它的外观,以便我可以帮助您分析它
preg_match("(var ytplayer(.*)ytplayer.config.loaded)", $downloaded_page, $match);
$link = $match[1];
$adaptive_fmts = preg_match("(adaptive_fmts(.*)})", $link, $adaptive);
$stream_map = preg_match("(url_encoded_fmt_stream_map(.*)})", $link, $stream);
$adaptive_link = urldecode($adaptive[1]);
$stream_link = urldecode($stream[1]);
preg_match("(url=(.*)\\\\)", $adaptive_link, $final);
$search_array = array('u0026','u0026index','u0026clen','index','u0026size','u0026init','u0026lmt','u0026url=','u0026bitrate','u0026type');
$trimmed = str_replace($search_array, '', $final[1]);
$one = explode('\\' , $trimmed);
var_dump($one);