旧暦計算ライブラリ。

ふとした世間話の中で、 六曜(大安とか、仏滅とか)ってどうなってるんだろう?と思って 調べてみたら、意外に簡単な計算方法だった。

(旧暦の月 + 旧暦の日) / 6 の余りが 0 → 大安 1 → 赤口 2 → 先勝 3 → 友引 4 → 先負 5 → 仏滅
へー。 それなら、カレンダーを書くときに、付けられるなぁ… と思ったけれど、旧暦の計算方法がわからない。 調べてみると、妙に難しい… それでも、Perlで使う場合には、『旧暦計算ライブラリ』という便利なプログラムがあり、 これを利用すれば、簡単に計算できます。 旧暦計算ライブラリ(Perlによる旧暦計算プログラム) これは、高野 英明さんという方が作成された、 AWK版旧暦計算サンプルスクリプト、『QRSAMP』の、 Perl移植版です。 Perlということで、MovableTypeにも当然利用でき、 いろんな和暦を利用できるようになるプラグイン、 MT 和風日付表示プラグインを作成されている、 muraさん作成の旧暦表示プラグインにも利用されているようです。 で、じゃあこれのPHP版作るか、と思って手を付けてみたのだけれども、 当然だが、激しくめんどくさい(笑) 探したら…ありました。 スクリプト ダウンロード(旧暦計算phpスクリプト) 見た感じ、体裁は全くいじらずに、忠実にPHPに移植した物のようです。 個人的には、データのやりとりなどいじりたいところなんですが… (年月日ではなくて、UNIXタイムスタンプで渡したかったり) 取り敢えずこれがあれば、PHPでも旧暦入りのカレンダーが作れます。 さて、手を入れるか。 (配布の権利関係は極めて微妙だけど)

続きを読む

旧ファイル名でもアクセスさせる

先日、SQLiteに変更したときに、ファイル名の形式を変更しました。 まぁそれでなくても、MT3.2からはarchivesというディレクトリが廃止されて、 デフォルトのディレクトリ名が変更になっているわけですが、 それにともなって、大量のNOT FOUNDが発生してしまいました。 例えば検索エンジンにインデックスされてるファイル名は そう簡単に変えられませんからねぇ… そういうわけで、しばし放置していたんですが、 思いついて、移行用のギミックを作ってみました。 必要なのは以下の3つ。

DB用インデックステンプレート .htaccess(mod_rewrite) 移行用プログラム
言ってみれば、Taggingの時の、x-search.cgiに飛ばすやり方の応用なんですけどね。

続きを読む

半角英数をチェックする。

正規表現を使って、半角英数をチェックする。 基本的には、[a-z]、[A-Z]などを利用する。

  • 半角英字:[a-z][A-Z]
  • 半角数字:[0-9]または\d
  • 半角英数字:[a-zA-Z0-9]

使用例

if(preg_match("/^[a-zA-Z0-9]+$/", $str)){
  print "すべて半角英数である";
} else {
  print "すべて半角英数ではない";
}
半角記号までチェックする場合には、ASCII文字コード表を参考に設定する。 ASCII.jpg 例えば、[!-/]と設定すれば、!から、/までの記号を表現することが出来る。 これを参考に、半角の英字、数字、記号を表現すると、[!-~]となる。

使用例

if(preg_match("/^[!-~]+$/", $str)){
  print "すべて半角英数記号である";
} else {
  print "すべて半角英数記号ではない";
}
以上、メモ。

続きを読む

fileNice

百式で紹介されていたソフトウェア、『fileNice』を導入してみた。 コレは、サーバ上で動かすPHPプログラムで、 一言で言うと、そのプログラムの入ったディレクトリ以下を、 視覚的に表示してくれるというもの。 遠隔作業なんかで、デザインチェックなどをするときに、 サーバに一時的にアップすることがあるんだけど、 長ったらしいURLを送ったり、場所を設定させたり、結構面倒。 でもこれなら、場所さえ分かれば、後は目で見ながら探せるし、 ブラウザベースだから画像チェックもすぐに出来るし、 なんだかすごく便利。 こういうシンプルだけど便利っていう技術はすごいなぁと思う。 便利そうだけど複雑っていうものなら、世の中に溢れてるんだけどね。 fileNice? – free php file browser

続きを読む