项目用到临时写的。待完善:
/* * 根据用户提交的(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; }