PHP实现使用优酷土豆视频地址获取swf播放器分享地址

项目用到临时写的。待完善:

/*
     * 根据用户提交的(swf/html)地址,获取优酷,土豆的swf播放地址
     * */
    private function _getSwf ($url = '') {
        if(isset($url) && !empty($url)){
            preg_match_all('/http:\/\/(.*?)?\.(.*?)?\.com\/(.*)/',$url,$types);
        }else{
            return false;
        }
        $type = $types[2][0];
        $domain = $types[1][0];
        $isswf = strpos($types[3][0], 'v.swf') === false ? false : true;
        $method = substr($types[3][0],0,1);

        switch ($type){             case 'youku' :                 if( $domain == 'player' ) {                     $swf = $url;                 }else if( $domain == 'v' ) {                     preg_match_all('/http:\/\/v\.youku\.com\/v_show\/id_(.*)?\.html/',$url,$url_array);                     $swf = 'http://player.youku.com/player.php/sid/'.str_replace('/','',$url_array[1][0]).'/v.swf';                 }else{                     $swf = $url;                 }                 break;             case 'tudou' :                 if($isswf){                     $swf = $url;                 }else{                     $method = $method == 'p' ? 'v' : $method ;                     preg_match_all('/http:\/\/www.tudou\.com\/(.*)?\/(.*)?/',$url,$url_array);                     $str_arr = explode('/',$url_array[1][0]);                     $count = count($str_arr);                     if($count == 1) {                         $id = explode('.',$url_array[2][0])[0];                     }else if($count == 2){                         $id = $str_arr[1];                     }else if($count == 3){                         $id = $str_arr[2];                     }                     $swf = 'http://www.tudou.com/'.$method.'/'.$id.'/v.swf';                 }                 break;             default :                 $swf = $url;                 break;         }         return $swf;     }