方針 EditToHeaderToFooter

  • 今すぐYouTubeをサイトに組み込みたい。
  • 大きさの調節だけは自由にやりたい。
  • 他のオプションは後回し。

仕様 EditToHeaderToFooter

  • &youtube(TOUYUBE-ID); と書けばとりあえず動画が再生可能になる。
  • サイズ指定
    短縮型冗長型意味
    (無指定) 560x315
    ssmall 560x315
    mmiddle 640x360
    llarge 853x480
    hhd1280x720
    wXXXw=XXX widthXXX width=XXX XXXx
    hYYYh=YYYheightYYYheight=YYY xYYY
    XXXxYYY
    XXX*YYY
    XXX-YYY
    XXX:YYY
    XXX/YYY

     
     
     
     

     
    XXXxYYY
     
     

新造 EditToHeaderToFooter

  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
<?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;
}
 
?>

課題 EditToHeaderToFooter

  • YouTubeの公式APIを調べること
  • 仕様を再検討すること
リロード   新規 編集 凍結 差分 添付 複製 改名   初基 一覧 検索 最新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2014.0501 (木) 2333.0600 (3637d)