TITLE:字下げ書式の導入 TITLE:YouTubeプラグイン %indent #contents * 方針 [#f3a67c4f] - 今すぐYouTubeをサイトに組み込みたい。 - 大きさの調節だけは自由にやりたい。 - 他のオプションは後回し。 * 仕様 [#jdb6a476] - ##&&;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##| | | | | * 新造 [#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 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を調べること - 仕様を再検討すること |