• 追加された行はこの色です。
  • 削除された行はこの色です。
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を調べること
- 仕様を再検討すること

    初基 一覧 検索 最新 バックアップ リンク元   ヘルプ   最終更新のRSS