xml学习笔记-1
看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我将其都理解为存在的意思)。
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>
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>
xml学习笔记-1
http://blog.soul11201.com/2014/02/01/xml-1/