拙著「上手に稼ぐカラ売りテクニック」が発売されました。
株価が下がる局面で利益を得ることができる「空売り」について、詳しく解説した本です。
自由国民社刊で、定価1,512円(税込)です。
文字列を1文字ずつ出力するプラグイン(その2)
昨日は「文字列を1文字ずつ出力するプラグイン(その1)文字列を1文字ずつ出力するプラグイン」を紹介しました。
今日はその続きで、分割した文字を置換する機能を紹介します。
1.置換が必要な場合
Blogの総エントリー数を6桁で表示するものとし、空の桁はスペースにしたいとします。
例えば、総エントリー数が123だとすると、「□□□123」(□はスペース)のようにします。
<$MTBlogEntryCount sprintf="%6d"$>のようにすれば、上のことを行うことができます。
ここで、この6桁の数値を画像で表示したいとします。
SplitStringプラグインで単純に1文字ずつに切って、文字の後に「.gif」をつけるとすると、スペースは「□.gif」に変換されることになります(□はスペース)。
しかし、「□.gif」というファイル名は、つけられなくはないですが、扱いにくいです。
そこで、数字はそのまま出力して、スペースは「space」などの文字列に置換したい、というようなことがでてきます。
2.置換の方法
上記のように、特定の文字を置換して出力したい場合は、MTSplitStringタグに「replace」または「regex」のアトリビュートを追加します。
ある文字を単純に他の文字に置換するだけなら、「replace="置換元,置換先"」のように書きます。
例えば、スペースを「space」に置換する場合だと、「replace=" space"」のように書きます。
置換したい文字が複数ある場合は、「replace1="置換元1,置換先1"」のように、「replace」の後に番号をつけて、置換方法を順に指定します。
また、正規表現で置換方法を指定するなら、「regex="正規表現"」のように書きます。
例えば、「regex="s/ /space/"」と指定すると、スペースを「space」に変換することができます。
3.例
昨日の例で、空の桁に「0」を表示するのではなく、スペースの画像を入れたいとします。
また、スペースの画像には「space.gif」というファイル名をつけているとします。
その場合は、以下のように書けばよいことになります。
<MTSetVarBlock name="blogcount"><MTBlogEntryCount sprintf="%6d"></MTSetVarBlock> <MTSplitString name="blogcount" replace=" ,space"><img src="<$MTBlogURL$>counter/<MTSplitStringChar>.gif" alt="<$MTSplitStringChar$>" /></MTSplitString>