ホームページ >バックエンド開発 >PHPチュートリアル >PHP が主要なビデオ Web サイトのページで Flash 再生アドレスを取得する_PHP チュートリアル
映画 Web サイトを作成している多くの友人は、主要な動画 Web サイトの Flash 再生アドレスを直接使用しています。このように、私たちが自分の Web サーバーに影響を与えない場合、以下のエディターが PHP を使用してページ内で Flash 再生を取得する方法を紹介します。主要なビデオ Web サイトのアドレス インスタンス。
まずは簡単なものから見てみましょう
それでは、PHP を使用してこの関数を実装しました。この作業を PHP で行うのは楽しいことだと思います。強力な HTML ページ処理関数とそれが提供する正規表現を使用すると、わずか数行のコードでこの機能を実現できます。
キーコードを投稿してください:
コードは次のとおりです | コードをコピー |
//Youkuページでフラッシュアドレスを取得します
$url=$_SERVER["QUERY_STRING"]; |
たとえば、このファイルを test.php として保存すると、test.php?Youku ビデオ URL を実行して FLASH アドレスを解析するだけで済みます。
アイデアは非常にシンプルです。つまり、まず Youku ビデオ ページの HTML コード内の主要な FLASH アドレスの特徴を調べます。任意の Web ページを検索します。たとえば、次の段落が表示されます:
コードは次のとおりです | コードをコピー |
フラッシュ アドレス: input type="text" id="link2" value="http://player .youku.com/player.php/sid/XMTU1MzcxMzAw/v.swf" />
|
あとは、正規表現を使ってアドレス部分を一致させればOKです。あと、大手動画サイトのFlashビデオ再生アドレスを自動取得できるアップグレード方法を見つけました。
現在、Sina Podcast、Youku、Tudou、Ku6.com、Sohu Video、56.com、Qiyi.com、Phoenix.com、その他のビデオ Web サイトのビデオ再生ページ リンクをサポートしています。
コードは次のとおりです | コードをコピー |
if (!empty($_GET['url'])) { $web_video = 新しい free_flash_video(); $web_video->index(); } /** *ビデオアドレスを取得します * @author qiufeng * @link http://www.fengdingbo.com * */ クラスfree_flash_video{ パブリック関数index() { // 通常のビデオアドレスを取得します $url = $_GET['url']; if ($url) { $parse = parse_url($url); isset($parse['host']) && $host = $parse['host']; $methods = array( "www.tudou.com" => "tudou"、 「v.youku.com」=>「youku」、 "v.ku6.com" => "ku6"、 "tv.sohu.com" => "sohu"、 "video.sina.com.cn" => "sina", "www.56.com" => "five_six"、 "www.iqiyi.com" => "iqiyi"、 "v.ifeng.com" => "ifeng"、 "www.yinyuetai.com" => "yinyuetai"、 ); isset($methods[$host]) && print_r($this->$methods[$host]($url)); } } /** * ヨウク * // http://www.youku.com * @param string $url */ プライベート関数 youku($url) { preg_match('/id_(.*).html/', $url,$url); if (isset($url[1])) { "http://static.youku.com/v/swf/qplayer.swf?VideoIDS={$url[1]}&=&isAutoPlay=true&embedid"; を返します } } /** * Tudou.com * // http://www.tudou.com * @param string $url */ プライベート関数 tudou($url) { $data = file_get_contents($url); //実際の URL アドレスと一致するために必要な iid 番号 preg_match('/iid:(.*)/', $data, $result); if (isset($result[1])) { $url = トリム($result[1]); "http://www.tudou.com/player/skin/plu.swf?iid={$url}" を返します; } } /** * Cool6.com * // http://www.ku6.com * @param string $url */ プライベート関数 ku6($url) { // 実際の URL アドレスと一致します preg_match('/show/(.*).{1}/', $url, $result); if (isset($result[1])) { "http://player.ku6.com/refer/{$result[1]}/v.swf&auto=1"; を返します } } /** * 捜狐ビデオ * // http://tv.sohu.com * @param string $url */ プライベート関数sohu($url) { $data = file_get_contents($url); // 実際の URL アドレスと一致します preg_match('//', $data, $result); if (isset($result[1])) { $result[1]; を返します } } /** *シーナポッドキャスト * // http://video.sina.com.cn * @param string $url */ プライベート関数sina($url) { $data = file_get_contents($url); // 実際の URL アドレスと一致します preg_match("/swfOutsideUrl:'(.*)',/", $data, $result); if (isset($result[1])) { $result[1] を返します; } } /** * 56ネット * // http://www.56.com * @param string $url */ プライベート関数 Five_six($url) { // 動画に必要なキーを取得します preg_match('/(v_.*).html/', $url, $result); if (isset($result[1])) { 「http://player.56.com/{$result[1]}.swf」を返します; } } /** * Qiyi.com * // http://www.qiyi.com * @param string $url */ プライベート関数iqiyi($url) { $data = file_get_contents($url); // 動画に必要なキーを取得します preg_match('/("videoId":"(.*)")|(data-player-videoid="(.*)")/U', $data, $result); if (isset($result[4])) { 「http://www.iqiyi.com/player/20130315154043/SharePlayer.swf?vid={$result[4]}」を返します; } } /** *ifeng.com * // http://www.ifeng.com * @param string $url */ プライベート関数 ifeng($url) { // 動画に必要なキーを取得します preg_match('/d+/(.*)./', $url, $result); if (isset($result[1])) { 戻り値 "http://v.ifeng.com/include/exterior.swf?guid={$result[1]}&fromweb=sinaweibo&AutoPlay=true"; } } } ?> |
PHP API呼び出しの例
コードは次のとおりです | コードをコピー |
/tools/web_video.php?url=ビデオページのアドレス |