1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
| | TITLE:YouTubeプラグイン
%indent
#contents
- 今すぐYouTubeをサイトに組み込みたい。
- 大きさの調節だけは自由にやりたい。
- 他のオプションは後回し。
- ##&&;youtube(TOUYUBE-ID)&;;## と書けばとりあえず動画が再生可能になる。
- サイズ指定
|*短縮型 |< |*冗長型 |< |*意味 |
|(無指定) |< |< |< |## 560x315 ##|
|##s## |< |##small## |< |## 560x315 ##|
|##m## |< |##middle## |< |## 640x360 ##|
|##l## |< |##large## |< |## 853x480 ##|
|##h## |< |##hd## |< |##1280x720 ##|
|##wXXX## |##w=XXX##|## widthXXX## |## width=XXX##|## XXXx ##|
|##hYYY## |##h=YYY##|##heightYYY## |##height=YYY##|## xYYY ##|
|##XXXxYYY##|< | |< | |+
|##XXX*YYY##| | | | |+
|##XXX-YYY##| | | |## XXXxYYY ##|+
|##XXX:YYY##| | | | |+
|##XXX/YYY##| | | | |
### php
<?php
function plugin_youtube_inline()
{
$argc = func_num_args();
$argv = func_get_args();
$width = 560;
$height = 315;
$id = "";
foreach ($argv as $param)
{
$param = trim($param);
if (preg_match('/^s(mall)?$/i',$param)) // Small 560x315
{
$width = 560;
$height = 315;
}
elseif (preg_match('/^m(iddle)?$/i',$param)) // Middle 640x360
{
$width = 640;
$height = 360;
}
elseif (preg_match('/^l(arge)?$/i',$param)) // Large 854x480
{
$width = 853;
$height = 480;
}
elseif (preg_match('/^hd?$/i',$param)) // HD 1280x720
{
$width = 1280;
$height = 720;
}
elseif (preg_match('/^(w(idth)?=?)(\d+)$/i',$param,$match)) // Width
{
$width = $match[3];
}
elseif (preg_match('/^(h(eight)?=?)(\d+)$/i',$param,$match)) // Height
{
$height = $match[3];
}
elseif (preg_match('/^(\d+)[x*-:\/](\d+)$/i',$param,$match)) // WxH
{
$width = $match[1];
$height = $match[2];
}
elseif (preg_match('/^((id=)|(#?))([\w\d-]+)$/i',$param,$match)) // ID
{
$id = $match[4];
}
}
if ($id == '')
{
$main_tag = '<div>Invalid youtube id = '.$id.'</div>';
}
else
{
$id = htmlspecialchars($id);
$width = htmlspecialchars($width);
$height = htmlspecialchars($height);
$main_tag = '<iframe width="'.$width.'" height="'.$height.'" src="//www.youtube.com/embed/'.$id.'" frameborder="0" allowfullscreen></iframe>';
}
return $pre_tag.$main_tag.$post_tag;
}
?>
###
- YouTubeの公式APIを調べること
- 仕様を再検討すること
|
|