public static function obj2arr($array) { if (is_object($array)) { $array = (array) $array; } if (is_array($array)) { foreach ($array as $key => $value) { $array[$key] = ContentProviderFactory::obj2arr($value); } } return $array; }
private function getAndroidVideoUrl($vid) { $videoAddressUrl = ""; $videoAddressUrl1 = ""; $videoAddressUrl2 = ""; $videoAddressUrl3 = ""; if (isset($vid) && !is_null($vid)) { $url = replaceStr(FengXingContent::BASE_URL, "{ID}", $vid); $mediaid = explode("/", $vid); $mediaid = $mediaid[0]; // var_dump($mediaid); $content = getPageWindow($url, "UTF-8"); try { $json = ContentProviderFactory::obj2arr(json_decode($content)); if (isset($json) && !is_null($json) && isset($json['playinfos']) && !is_null($json['playinfos'])) { $playinfos = $json['playinfos']; foreach ($playinfos as $playinfo) { $cid = $playinfo['cid']; $t_mediaid = $playinfo['mediaid']; if ($t_mediaid !== $mediaid) { continue; } $clarity = $playinfo['clarity']; $byterate = $playinfo['byterate']; $tempUrl = replaceStr(FengXingContent::BASE_URL_MP3, "{cid}", $cid); $tempUrl = replaceStr($tempUrl, "{byterate}", $byterate); $tempjson = ContentProviderFactory::obj2arr(json_decode(getPageWindow($tempUrl, "UTF-8"))); if (isset($tempjson) && !is_null($tempjson) && isset($tempjson['playlist']) && !is_null($tempjson['playlist']) && isset($tempjson['playlist'][0]) && !is_null($tempjson['playlist'][0]) && isset($tempjson['playlist'][0]['urls']) && !is_null($tempjson['playlist'][0]['urls'])) { $rc = false; foreach ($tempjson['playlist'][0]['urls'] as $location) { if ($clarity === "high-dvd") { if ($rc || !isN($videoAddressUrl3)) { $videoAddressUrl3 = $videoAddressUrl3 . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl3 = $videoAddressUrl3 . MovieType::TOP_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $location; $rc = true; } if ($clarity === "dvd") { if ($rc || !isN($videoAddressUrl2)) { $videoAddressUrl2 = $videoAddressUrl2 . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl2 = $videoAddressUrl2 . MovieType::HIGH_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $location; $rc = true; } if ($clarity === "tv") { if ($rc || !isN($videoAddressUrl1)) { $videoAddressUrl1 = $videoAddressUrl1 . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl1 = $videoAddressUrl1 . MovieType::NORMAL . MovieType::VIDEO_NAME_URL_SEP . $location; $rc = true; } } } } } // var_dump($videoAddressUrl3); // var_dump($videoAddressUrl1); // var_dump($videoAddressUrl2); } catch (Exception $e) { } } $flag = false; if (!isN($videoAddressUrl3)) { if ($flag) { $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl = $videoAddressUrl . $videoAddressUrl3; $flag = true; } if (!isN($videoAddressUrl2)) { if ($flag) { $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl = $videoAddressUrl . $videoAddressUrl2; $flag = true; } if (!isN($videoAddressUrl1)) { if ($flag) { $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl = $videoAddressUrl . $videoAddressUrl1; $flag = true; } // var_dump($videoAddressUrl); return $videoAddressUrl; }
public function parseIOSVideoUrlByContent($content, $p_coding, $p_script) { $videoUrlParam = getBody($content, $this->p_videourlstart, $this->p_videourlend); $url = replaceStr("http://www.letv.com/v_xml/{VID}.xml", '{VID}', $videoUrlParam); $content = getPageWindow($url, $this->p_code); $content = getBody($content, '<playurl><![CDATA[', ']]></playurl>'); $contentObj = json_decode($content); if (is_object($contentObj) && property_exists($contentObj, 'dispatch')) { $contentObj = $contentObj->dispatch; if (is_object($contentObj)) { $videoAddressUrl4 = ""; $videoAddressUrl1 = ""; $videoAddressUrl2 = ""; $videoAddressUrl3 = ""; //var_dump($contentObj); $contentObj = ContentProviderFactory::obj2arr($contentObj); if (array_key_exists('720p', $contentObj)) { $urlArray = $contentObj['720p']; if (is_array($urlArray)) { $tempUrl = $urlArray[0]; if (strpos($tempUrl, 'tss=ios') !== false) { $tempUrl = $this->getUrl($tempUrl); } else { $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios'); } $videoAddressUrl4 = MovieType::TOP_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $tempUrl; } } if (array_key_exists('1300', $contentObj)) { $urlArray = $contentObj['1300']; if (is_array($urlArray)) { $tempUrl = $urlArray[0]; if (strpos($tempUrl, 'tss=ios') !== false) { $tempUrl = $this->getUrl($tempUrl); } else { $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios'); } $videoAddressUrl1 = MovieType::HIGH_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $tempUrl; } } if (array_key_exists('1000', $contentObj)) { $urlArray = $contentObj['1000']; if (is_array($urlArray)) { $tempUrl = $urlArray[0]; if (strpos($tempUrl, 'tss=ios') !== false) { $tempUrl = $this->getUrl($tempUrl); } else { $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios'); } $videoAddressUrl2 = MovieType::HIGH_CLEAR . MovieType::VIDEO_NAME_URL_SEP . $tempUrl; } } if (array_key_exists('350', $contentObj)) { $urlArray = $contentObj['350']; if (is_array($urlArray)) { $tempUrl = $urlArray[0]; if (strpos($tempUrl, 'tss=ios') !== false) { $tempUrl = $this->getUrl($tempUrl); } else { $tempUrl = replaceStr($tempUrl, 'tss=no', 'tss=ios'); } $videoAddressUrl3 = MovieType::NORMAL . MovieType::VIDEO_NAME_URL_SEP . $tempUrl; } } $flag = false; $videoAddressUrl = ''; if (!isN($videoAddressUrl4)) { if ($flag) { $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl = $videoAddressUrl . $videoAddressUrl4; $flag = true; } if (!isN($videoAddressUrl3)) { if ($flag) { $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl = $videoAddressUrl . $videoAddressUrl3; $flag = true; } if (!isN($videoAddressUrl2)) { if ($flag) { $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl = $videoAddressUrl . $videoAddressUrl2; $flag = true; } if (!isN($videoAddressUrl1)) { if ($flag) { $videoAddressUrl = $videoAddressUrl . MovieType::VIDEO_SEP_VERSION; } $videoAddressUrl = $videoAddressUrl . $videoAddressUrl1; $flag = true; } return $videoAddressUrl; } } return ''; }