看xml感觉特别爽,全是数据的集合,样式这些噪声影响非常小,感觉达到了短小精悍的地步。顺便打下广告吧,我学的xml是是看的自学it网的xml教程,感觉教的挺好的。

    下面的代码就是仿照视频课程里面的写的(基本上照抄的~__~),也算是复习吧。本来想着也把优酷的搞一下的。没想到file_get_contents();无法获取想要的内容老提示错误。也就先放一放了。

   知识点的复习:

   1.xml的获取

    土豆视频的xml获取方法,在视频里讲的非常的清楚。但是因为时间的原因还是有一些不同的地方的。但基本上还是相同的。首先在开放平台注册账号,完善开发者信息,创建应用。稍微复杂了一些,即使还没有通过验证,但是也能先用key。

   2.php

    在这个实例中php用到的地方主要是操作字符串,主要包括字符串的截取substr();、粘连(.)、查找模式串在字符串的起始位置strpos()。整个过程也用到了其他的一些函数如isset(),empty(),和在调试的时候用到了var_dump(),print_r, echo等等。
     empty()和isset()的区别.用empty判断变量是否存在(exsit)或者是否是false,isset()用来判断变量是否存在(set)或者是否是NULL。我感觉他们俩的主要区别是在后者,在前者判断变量是否存在,很难说出有什么不同(英文文档中一个用exist,一个用set我将其都理解为存在的意思)。

    3.javascript

57                <span>土豆开放平台appkey:<input type="text" name="key" onfocus="this.value=''" value="<?php if(isset($_POST['key']))  echo $_POST['key']; else echo 'd07a99702d923952';?>" /></span>

    4.HTML

26        //<pre>
27        //    fadfad<div></div>
28        //</pre> 


 

所有的源码

PHP语言: 高亮代码由发芽网提供
01 <?php
02    /*
03        获取土头和优酷视频的播放地址
04    */
05    //echo "string";
06    var_dump($_POST);
07    ///*
08    if(isset($_POST["tudou"])){
09        //echo "yes";
10        $url = $_POST["tudou"];
11        //http://www.tudou.com/programs/view/YRITBqGAmRM/
12        $itemcode = basename($url); //
13        //echo $itemcode;
14        $myAppKey = $_POST['key'];
15        $api = 'http://api.tudou.com/v6/video/info?app_key='.$myAppKey.'&format=xml&itemCodes='.$itemcode;
16        $con = file_get_contents($api);
17        $start = strpos($con,"<outerPlayerUrl>")+16;
18        $length = strpos($con,"</outerPlayerUrl>") - $start;
19        //echo $start ,$length;
20        $swf = substr($con, $start,$length);
21        //echo $swf;
22        //var_dump($swf);
23        //echo $con;            
24        //print_r($con) ;
25        //<pre>contents </pre> content中的标签不会被显示出来。
26        //<pre>
27        //    fadfad<div></div>
28        //</pre>
29        //<div>还是会被解析,不会显示出字符fadfad<div></div>而只会显示出字符fadfad
30  
31    }//else{
32        //echo "no";
33    //}
34    //*/
35    /*
36    if(isset($_POST["youku"]))
37    {
38        $itemcode_y = substr(basename($_POST["youku"]),3,-5);
39        //http://v.youku.com/v_show/id_XNjY1NTE1MTg4.html
40        echo $itemcode_y."<br/>";
41        $api = 'http://openapi.youku.com/v2/videos/show_basic.json?client_id=fa38ffda4fd2f01a&video_id='.$itemcode_y;
42        echo $api;
43        //$con_y = file_get_contents(urlencode($api));
44        $con_y = file_get_contents($api);
45        //$swf_y = substr(string, start);
46    }*/
47 ?>
48
49 <html>
50    <head>
51        <title>查看视频源地址</title>
52        <meta charset = "utf-8"/>
53    </head>
54    <body>
55        <form method="post">
56            <p>
57                <span>土豆开放平台appkey:<input type="text" name="key" onfocus="this.value=''" value="<?php if(isset($_POST['key']))  echo $_POST['key']; else echo 'd07a99702d923952';?>" /></span>
58                <br/><br/>
59                <span>土豆视频网页url:<input type="text" name="tudou" onfocus="this.value = ''" value="<?php if(isset($_POST['tudou'])) echo $_POST['tudou']; ?>" /> </span>                
60            </p>
61            <!--<p>
62                优酷视频网页url<input type="text" name="youku" value="" />
63            </p>-->
64                <input type="submit" value= "查看视频源地址">    
65        </form>
66        <p>
67            视频源地址:
68            <?php
69                //echo "<pre>".$con."</pre>";
70                if(!empty($_POST["tudou"]))
71                    echo $swf;
72                    //echo "empty(var)";
73            ?>
74        </p>
75    </body>
76
77 </html>