サマリ | DIVでブロック化する |
---|---|
リビジョン | 1.0 |
対応バージョン | 1.4.5 |
投稿者 | デジテク |
投稿日 | 2006-03-17 (金) 16:02:55 |
DIVでブロック化するためのプラグイン。 他にも同様のプラグインがあるようですが、利用できなかったため作りました。 block.inc.phpを参考に作成しました。
#blockdiv([パラメータ],...)
パラメータ
例)
#blockdiv(float:left,width:48%,bordercolor:#0064c8,margin:2px) abc #blockdiv(end) #blockdiv(float:right,width:48%,bordercolor:#0064c8,margin:2px) def #blockdiv(end)
東かがわ市商工会のページに利用しています。
<?php ///////////////////////////////////////////////// // PukiWiki - Yet another WikiWikiWeb clone. // // function plugin_blockdiv_convert() { # 初期設定値 $params = array( "start" => true ,"float" => "left" ,"clear" => "" ,"width" => "auto" ,"align" => "left" ,"bordercolor" => "inherit" ,"borderwidth" => "1px" ,"borderstyle" => "solid" ,"backcolor" => "inherit" ,"margin" => "0px" ,"padding" => "0px" ,"style" => "blockdiv" ); # 引数解析 $args = func_get_args(); foreach ($args as $value) { if ( preg_match("/^ *([a-zA-Z0-9_]+) *$/i", $value, $matches) ){ $params[strtolower($matches[1])] = true; }elseif( preg_match("/^ *([a-zA-Z0-9_]+):([a-zA-Z0-9%_# ]+)$/i", $value, $matches) ){ $params[strtolower($matches[1])] = $matches[2]; } } # ↓スタイルシートの border: solid 1px gray; とかの書式に対応するための処理。 if( isset($params['border']) ){ $ary = split(" ", trim($params['border'])); if(isset($ary[0])) $params["borderstyle"] = $ary[0]; if(isset($ary[1])) $params["borderwidth"] = $ary[1]; if(isset($ary[2])) $params["bordercolor"] = $ary[2]; } # HTML生成 if( $params['end'] == true ){ return "</div>"; }else if( $params['clear'] != '' ){ return <<< EOS1 <div class="{$params['style']}" style="clear:{$params['clear']};"> EOS1; }else{ return <<< EOS <div class="{$params['style']}" style="float:{$params['float']};width:{$params['width']}; \ text-align:{$params['align']};border-style:{$params['borderstyle']};border-width:{$params['borderwidth']}; \ border-color:{$params['bordercolor']};background-color:{$params['backcolor']};margin:{$params ['margin']};padding:{$params['padding']};"> EOS; } } ?>
これを「blockdiv.inc.php」という名前のファイルに保存してpluginフォルダに入れてください。
ライセンスは、すべて自由に利用可能です。著作権もありません。
何かありましたらお願いします。