blockdiv.inc.php

サマリ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フォルダに入れてください。

ライセンス

ライセンスは、すべて自由に利用可能です。著作権もありません。

コメント

何かありましたらお願いします。



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-21 (火) 23:42:13
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.623 sec.

SourceForge