** blockdiv.inc.php [#w7d0f0c0]
|RIGHT:100|LEFT:360|c
|~サマリ|DIVでブロック化する|
|~リビジョン|1.0|
|~対応バージョン|1.4.5|
|~投稿者|[[デジテク]]|
|~投稿日|&new{2006-03-17 (金) 16:02:55};|

**概要 [#ed1ff048]
DIVでブロック化するためのプラグイン。
他にも同様のプラグインがあるようですが、利用できなかったため作りました。
block.inc.phpを参考に作成しました。

**使い方 [#gbd6df83]
 #blockdiv([パラメータ],...)
パラメータ
-float:レイアウト(left,right)
-clear:レイアウト解除(left,right,both)
-width:横幅
-align:テキストアライメント
-bordercolor:ボーダー色
-borderwidth:ボーダーサイズ
-borderstyle:ボータータイプ
-backcolor:背景色
-margin:マージン
-padding:パッデング
-end:ブロックの終了
詳細は、ソースをご覧になってください
clear属性を指定すると、他のパラメータは無効になりますので指定しても無意味です。


例)
 #blockdiv(float:left,width:48%,bordercolor:#0064c8,margin:2px)
 abc
 #blockdiv(end)
 #blockdiv(float:right,width:48%,bordercolor:#0064c8,margin:2px)
 def
 #blockdiv(end)

**サンプル [#m10da113]
>[[東かがわ市商工会>http://higashikagawa.com/syokokai/]]のページに利用しています。

**ソースコード [#u1a203fa]
 <?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']};">
 <div class="{$params['style']}" style="clear:{$params['clear']};">
 EOS1;
 	}else{
 		return <<< EOS
 <div class={$params['style']} style="float:{$params['float']};width:{$params['width']}; \
 <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フォルダに入れてください。
**ライセンス [#o0df3886]
ライセンスは、すべて自由に利用可能です。著作権もありません。
**コメント [#v7f136e0]
何かありましたらお願いします。
- Firefox1.5.0.3(たぶん他のバージョンでも)で東かがわ・・へいくとDIVのfloat=right;が効いていない。回避策ありますか?このPluginの問題か、style記述の問題か? -- [[kenS]] &new{2006-05-10 (水) 10:19:34};
- ソースの float= は float: の間違いじゃないかと.同様に,text-align= も text-align: ですね -- [[Gaki]] &new{2006-05-13 (土) 05:22:15};
- firefoxでfloatが効きません。 -- [[pico]] &new{2006-05-23 (火) 14:12:21};
- float=等ののソース修正しました -- [[deijteku]] &new{2007-02-26 (月) 09:45:07};
- clear属性の指定追加しました -- [[dejiteku]] &new{2007-03-07 (水) 09:07:00};
- 追加ブロックに単純にstyle="内容"とid="任意"を追加できないでしょうか。現在加工中ですがphpの知識が弱いため現在難航中です。また、class={$params['style']} の箇所を” "でくくっていないのをclass="{$params['style']}"にしてはいかがでしょうか -- [[追加中]] &new{2007-03-13 (火) 20:43:10};
- 勝手に↑してみた --  &new{2013-01-27 (日) 00:46:48};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.046 sec.

OSDN