PukiWiki改造/YouTubeプラグイン
をテンプレートにして作成
[
凌宮
|
初基
|
一覧
|
検索
|
最新
] [
ソース
]
開始行:
TITLE:YouTubeプラグイン
%indent
#contents
* 方針 [#f3a67c4f]
- 今すぐYouTubeをサイトに組み込みたい。
- 大きさの調節だけは自由にやりたい。
- 他のオプションは後回し。
* 仕様 [#jdb6a476]
- ##&&;youtube(TOUYUBE-ID)&;;## と書けばとりあえず動画が...
- サイズ指定
|*短縮型 |< |*冗長型 |< |*意...
|(無指定) |< |< |< |## ...
|##s## |< |##small## |< |## ...
|##m## |< |##middle## |< |## ...
|##l## |< |##large## |< |## ...
|##h## |< |##hd## |< |##1...
|##wXXX## |##w=XXX##|## widthXXX## |## width=XXX##|## ...
|##hYYY## |##h=YYY##|##heightYYY## |##height=YYY##|## ...
|##XXXxYYY##|< | |< | ...
|##XXX*YYY##| | | | ...
|##XXX-YYY##| | | |## ...
|##XXX:YYY##| | | | ...
|##XXX/YYY##| | | | ...
* 新造 [#t6f3c0be]
### 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 560...
{
$width = 560;
$height = 315;
}
elseif (preg_match('/^m(iddle)?$/i',$param)) // Midd...
{
$width = 640;
$height = 360;
}
elseif (preg_match('/^l(arge)?$/i',$param)) // Large...
{
$width = 853;
$height = 480;
}
elseif (preg_match('/^hd?$/i',$param)) // HD 1280x720
{
$width = 1280;
$height = 720;
}
elseif (preg_match('/^(w(idth)?=?)(\d+)$/i',$param,$mat...
{
$width = $match[3];
}
elseif (preg_match('/^(h(eight)?=?)(\d+)$/i',$param,$ma...
{
$height = $match[3];
}
elseif (preg_match('/^(\d+)[x*-:\/](\d+)$/i',$param,$ma...
{
$width = $match[1];
$height = $match[2];
}
elseif (preg_match('/^((id=)|(#?))([\w\d-]+)$/i',$param...
{
$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="'.$heig...
}
return $pre_tag.$main_tag.$post_tag;
}
?>
###
* 課題 [#x4005bec]
- YouTubeの公式APIを調べること
- 仕様を再検討すること
終了行:
TITLE:YouTubeプラグイン
%indent
#contents
* 方針 [#f3a67c4f]
- 今すぐYouTubeをサイトに組み込みたい。
- 大きさの調節だけは自由にやりたい。
- 他のオプションは後回し。
* 仕様 [#jdb6a476]
- ##&&;youtube(TOUYUBE-ID)&;;## と書けばとりあえず動画が...
- サイズ指定
|*短縮型 |< |*冗長型 |< |*意...
|(無指定) |< |< |< |## ...
|##s## |< |##small## |< |## ...
|##m## |< |##middle## |< |## ...
|##l## |< |##large## |< |## ...
|##h## |< |##hd## |< |##1...
|##wXXX## |##w=XXX##|## widthXXX## |## width=XXX##|## ...
|##hYYY## |##h=YYY##|##heightYYY## |##height=YYY##|## ...
|##XXXxYYY##|< | |< | ...
|##XXX*YYY##| | | | ...
|##XXX-YYY##| | | |## ...
|##XXX:YYY##| | | | ...
|##XXX/YYY##| | | | ...
* 新造 [#t6f3c0be]
### 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 560...
{
$width = 560;
$height = 315;
}
elseif (preg_match('/^m(iddle)?$/i',$param)) // Midd...
{
$width = 640;
$height = 360;
}
elseif (preg_match('/^l(arge)?$/i',$param)) // Large...
{
$width = 853;
$height = 480;
}
elseif (preg_match('/^hd?$/i',$param)) // HD 1280x720
{
$width = 1280;
$height = 720;
}
elseif (preg_match('/^(w(idth)?=?)(\d+)$/i',$param,$mat...
{
$width = $match[3];
}
elseif (preg_match('/^(h(eight)?=?)(\d+)$/i',$param,$ma...
{
$height = $match[3];
}
elseif (preg_match('/^(\d+)[x*-:\/](\d+)$/i',$param,$ma...
{
$width = $match[1];
$height = $match[2];
}
elseif (preg_match('/^((id=)|(#?))([\w\d-]+)$/i',$param...
{
$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="'.$heig...
}
return $pre_tag.$main_tag.$post_tag;
}
?>
###
* 課題 [#x4005bec]
- YouTubeの公式APIを調べること
- 仕様を再検討すること
ページ名:
Anatomy_of_the_Human_Ear_ja.svg
363件
[
詳細
]
line.pukiwiki.php
459件
[
詳細
]
line.diff.php
449件
[
詳細
]
inline.tex
438件
[
詳細
]
convert_html.php
470件
[
詳細
]
eq.inc.php
506件
[
詳細
]
convert.tex
422件
[
詳細
]
codehighlight.php
438件
[
詳細
]
code.inc.php
474件
[
詳細
]
ToHeader.png
234件
[
詳細
]
ToFooter_0.png
202件
[
詳細
]
ToFooter.png
239件
[
詳細
]
ParaEdit.png
245件
[
詳細
]
TexEqMiddleAlign.png
484件
[
詳細
]
[
凌宮
|
初基
|
一覧
|
検索
|
最新
] [
ソース
]