- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:字下げ書式の導入
TITLE:YouTubeプラグイン
%indent
#contents
* 方針 [#n4870d02]
* 方針 [#f3a67c4f]
- 今すぐYouTubeをサイトに組み込みたい。
- 大きさの調節だけは自由にやりたい。
- 他のオプションは後回し。
* 仕様 [#r84f31f2]
- ##&youtube(XXXXXXXXX);## と書けばとりあえず動画を再生可能にする。
* 仕様 [#jdb6a476]
- ##&&;youtube(TOUYUBE-ID)&;;## と書けばとりあえず動画が再生可能になる。
- サイズ指定
|*短縮型 |< |*冗長型 |< |*意味 |
|> |< |##(無指定)##|< |## 560x315 ##|
|##s## |< |##small ## |< |## 560x315 ##|
|(無指定) |< |< |< |## 560x315 ##|
|##s## |< |##small## |< |## 560x315 ##|
|##m## |< |##middle## |< |## 640x360 ##|
|##l## |< |##large ## |< |## 853x480 ##|
|##h## |< |##hd ## |< |##1280x720 ##|
|##l## |< |##large## |< |## 853x480 ##|
|##h## |< |##hd## |< |##1280x720 ##|
|##wXXX## |##w=XXX##|## widthXXX## |## width=XXX##|## XXXx ##|
|##hYYY## |##h=YYY##|##heightYYY## |##height=YYY##|## xYYY ##|
|##XXXxYYY##|< |< |< |## XXXxYYY ##|-
|##XXXxYYY##| | | | |-
|##XXXxYYY##| | | | |-
|##XXXxYYY##| | | | |
|##XXXxYYY##|< | |< | |+
|##XXX*YYY##| | | | |+
|##XXX-YYY##| | | |## XXXxYYY ##|+
|##XXX:YYY##| | | | |+
|##XXX/YYY##| | | | |
* 新造 [#gbb6b29e]
* 新造 [#t6f3c0be]
### php
<?php
/////////////////////////////////////////////////
* 課題 [#xa74f4e0]
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;
}
?>
###
* 課題 [#x4005bec]
- YouTubeの公式APIを調べること
- 仕様を再検討すること