「WordPressで学ぶPHP(1)変数・制御構造編」が発売されました。
「WordPressで学ぶPHP」シリーズの第1巻で、WordPressを通してPHPを学んでいく本です。
この本では、PHPの基本となる変数と制御構造について解説します。
Kindle本で、定価500円です。
数値をローマ数字/アルファベットに変換するプラグイン
数値をローマ数字(I,II,III,IV・・・)やアルファベット(A,B,C,・・・)に変換するモディファイアのプラグインを公開します。
Movable Type 4.xで動作するはずです(動作確認はMovable Type 4.22で行いました)。
1.インストール
プラグインは以下からダウンロードすることができます。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ダウンロードしたzipファイルを解凍すると、「NumericFilter」というフォルダができます。
そのフォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。
2.ローマ数字変換
ローマ数字変換は、「s_roman="1"」または「l_roman="1"」のモディファイアで行うことができます。
s_romanは小文字、l_romanは大文字に変換します。
変換結果は以下のようになります。
元の数値 | s_roman | l_roman |
---|---|---|
1 | i | I |
2 | ii | II |
3 | iii | III |
4 | iv | IV |
5 | v | V |
6 | vi | VI |
7 | vii | VII |
8 | viii | VIII |
9 | ix | IX |
10 | x | X |
11 | xi | XI |
19 | xix | XIX |
20 | xx | XX |
30 | xxx | XXX |
40 | xl | XL |
50 | l | L |
60 | lx | LX |
70 | lxx | LXX |
80 | lxxx | LXXX |
90 | xc | XC |
99 | xcix | XCIX |
100 | c | C |
101 | ci | CI |
109 | cix | CIX |
110 | cx | CX |
199 | cxcix | CXCIX |
200 | cc | CC |
300 | ccc | CCC |
400 | cd | CD |
500 | d | D |
600 | dc | DC |
900 | cm | CM |
1000 | m | M |
2000 | mm | MM |
3999 | mmmcmxcix | MMMCMXCIX |
たとえば、以下のようにすると、ブログ全体の記事数を小文字のローマ数字に変換して出力します。
<$MTBlogEntryCount s_roman="1"$>
なお、出力されるローマ数字は「i」や「v」などのアルファベットを組み合わせたものになります。
また、1未満および4000以上の数値は変換せず、そのまま出力します。
2.アルファベット変換
アルファベット変換は、「s_alpha="1"」または「l_alpha="1"」のモディファイアで行うことができます。
s_alphaは小文字、l_alphaは大文字に変換します。
変換結果は以下のようになります。
元の数値 | s_alpha | l_alpha |
---|---|---|
1 | a | A |
2 | b | B |
3 | c | C |
24 | x | X |
25 | y | Y |
26 | z | Z |
27 | aa | AA |
28 | ab | AB |
29 | ac | AC |
51 | ay | AY |
52 | az | AZ |
53 | ba | BA |
54 | bb | BB |
77 | by | BY |
78 | bz | BZ |
79 | ca | CA |
80 | cb | CB |
701 | zy | ZY |
702 | zz | ZZ |
703 | aaa | AAA |
704 | aab | AAB |
727 | aay | AAY |
728 | aaz | AAZ |
729 | aba | ABA |
730 | abb | ABB |
1377 | azy | AZY |
1378 | azz | AZZ |
1379 | baa | BAA |
1380 | bab | BAB |
18277 | zzy | ZZY |
18278 | zzz | ZZZ |
18279 | aaaa | AAAA |
18280 | aaab | AAAB |
475253 | zzzy | ZZZY |
475254 | zzzz | ZZZZ |
475255 | aaaaa | AAAAA |
475256 | aaaab | AAAAB |
なお、1未満の数値は変換せず、そのまま出力します。
3.注意点
各モディファイアに共通の注意点として、以下のようなものがあります。
- 数値に小数点以下の部分がある場合、それを切り捨ててから変換します。
- 変換対象文字列の先頭に数字が含まれ、それ以後に数字でないものが含まれる場合は、先頭部分の数値のみを変換した結果が出力されます。
例えば、変換元が「123x」の場合にs_romanモディファイアを使うと、先頭の「123」だけが変換され、結果は「cxxiii」になります。 - 変換対象文字列の先頭が数字でない場合は、変換は行われません。
- Movable Type標準のダイナミックパブリッシングには対応していません。