SQLの窓

2010年10月30日


PHP : 前ゼロ文字列作成と右から必要な長さ文字列を取得する処理

要するに、VBScript や古い VB における Right 関数の代替えが目的です。

ただ、前ゼロしたいだけなら sprintf がありますし、他の言語でも行うには、文字列の長さと開始位置から指定長さを取得する処理があればできます。
<?

// **********************************************************
// n 桁の前ゼロ文字列を作成するには
// 以下で簡単に作成できますが、
// **********************************************************
$a = sprintf("%05d", 1);
print "$a<br>";

// **********************************************************
// どんな言語でもたぶんある関数(メソッド)を使って行うには
// **********************************************************

// 1) n 桁の 0 を目的の文字列の前に連結する

$a = "00000" . 1;

// 2) 全体の長さを取得する

$len = strlen($a);

// 3) 全体の長さ - 欲しい長さを開始位置とする

$start = $len - 5;

// 4) その位置から欲しい長さぶん切り取る

$x = substr( $a, $start, 5 );

print "$x<br>";

// つまり
function m_zero( $target, $n ) {

	$target = str_repeat("0",$n) . $target;
	$len = strlen($target);
	$start = $len - $n;
	$target = substr( $target, $start, $n );
	return $target;

};

print m_zero(1,5) . "<br>";
print m_zero("AA",5) . "<br>";
print m_zero("あA",5) . "<br>";
print m_zero(1234,5) . "<br>";
print m_zero(12345,5) . "<br>";

?>

00001
00001
00001
000AA
00あA
01234
12345
タグ:PHP 文字列
posted by lightbox at 2010-10-30 19:34 | PHP + ベーシック | このブログの読者になる | 更新情報をチェックする

2010年10月14日


JavaScript : ネームスペースの作成

記述の仕方によって違ったように見えやすい仕様ですが、結局は、var x = {} で作成する事のできるオブジェクトの配列の定義を、window の下の任意の名前で定義します。

window["myname"] は、window.myname というプロパティとなり、myname.prop_or_method のような形で定義して行きます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=EUC-JP">
<title>JavaScript</title>
<style>
* {
	font-size:16px;
}
</style>
</head>

<body>

<script type="text/javascript">
function scriptTest(obj) {
	createNameSpace("lbox","1.0","lightbox");

	lbox.msgbox("こんにちは。", lbox.version, lbox.author, obj.parentNode.innerHTML );
}
</script>
<div>
<input type="button" value="実行" onclick='scriptTest(this);'>
</div>
<script type="text/javascript">
function createNameSpace(topName,version,author) {
	if ( !window[topName] ) {
		window[topName] = {}
	}
	window[topName].version = version;
	window[topName].author = author;
	window[topName].msgbox = function(){
		var i, s="", numargs = arguments.length;
		for (i = 0; i < numargs; i++) {
			s += arguments[i] + "\n";
		}
		alert(s + "\n\n" + (new Date()).toLocaleString());
	}

}
</script>

</body>
</html>



posted by lightbox at 2010-10-14 13:28 | JavaScript オブジェクト | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり