2006年08月02日(水) 01:52

文字列を任意の位置でトリミングするMovableTypeプラグイン

文字列の先頭をけずったり、後ろをけずったり、任意の位置で切り出したりするMovableTypeプラグインを作ってみました。
Perlで言うところの、substr関数、JavaScript なら substring関数のようなことが出来ます。


TrimX2Y


上記リンクからファイルをダウンロードして、アーカイブを解凍してください。


trimx2y.pl を MT のプラグインディレクトリに設置(パーミッションは 0604とか)。


文字列を返すMTタグに trimx2y="x-y" という属性を追加して使用します。


3文字目以降を切り出します。

<$MTEntryTitle trimx2y="3-"$>


10文字目までを切り出します。

<$MTEntryTitle trimx2y="-10"$>


5文字目から15文字目までを切り出します。

<$MTEntryTitle trimx2y="5-15"$>


以下のような場合は、全ての文字列が取り出されます。

<$MTEntryTitle trimx2y="0-"$> 0は無効
<$MTEntryTitle trimx2y="-0"$> 0は無効
<$MTEntryTitle trimx2y="9-2"$> 開始位置の方が大きい
<$MTEntryTitle trimx2y="a-b"$> 数字以外は無効
<$MTEntryTitle trimx2y="abc"$> 無効な指定


日本語文字列に対応していて、バイト数ではなく、文字数で数えます。


プログラマーの感覚ではなく、一般の感覚で数えるので、文字列の先頭位置を1文字目と数えます(先頭を0とするsubstr関数やsubstring関数とは異なります)。


文字列を超える位置を指定すると、文字列がなくなるので注意してください。

例えば、<$MTEntryTitle$> が abcdefghijklmn という14文字を返すとして

<$MTEntryTitle trimx2y="15-25"$>
とすると、何も表示されなくなります。


また、数字、ハイフンは必ず半角文字で指定してください。


空白などが入ると無効扱いとなり、通常通りの文字列(トリミングなしの文字列)を返します。


以上、よろしければ、ご利用ください(。・_・。)ノ

あなたのコメントをお待ちしています。

名前  クッキーに保存 
このエントリーへのコメント(6件)

初めまして. まるちぷらいと申します.
TrimX2Y ありがたく使わせていただきました.
カテゴリ一覧を体裁よく任意の順に並べるのに使用しています.
「xxxxxxカテゴリ名」のように、カテゴリ名の先頭に 6 桁の数字を付けて並ぶようにしています.
カテゴリ名表示の部分で、trimx2y="7-" と指定すれば、数字部分が飛んでるくれるものと解釈したのですが、これだとカテゴリ名の最初の一文字もとばされてしまいます.
trimx2y="6-" とするとうまくいきます.
ちょっと感覚と合わないのですが、私の理解が間違っているでしょうか?

>まるちぷらいさん
ご利用ありがとうございます。
直っていると思いますので、再ダウンロードをお願いします。

素早い対応、誠にありがとうございます.
動作確認いたしました.

こんにちわ^^

ダウンロードして使わせていただきます。

これは本当に便利ですね!

MTOSでも使えました!

エントリーナビ
文字列を任意の位置でトリミングするMovableTypeプラグイン」は、
MTプラグイン(3.Xまで) カテゴリーの記事です。


関連エントリー
ファイルのアップロードで「HTMLを表示」がデフォルト選択されるプラグイン
キーワードを検索エンジンにリンクするMovableTypeプラグイン
Movable Typeで和音画像を表示するプラグイン(音もでるよ)
はてなid記法をMovable Type4.Xで実装するプラグイン
任意の位置と長さの文字列を取り出すsubstrプラグイン

トラックバック

受信したトラックバックのリスト

» 文字列を任意の位置でトリミングする"TrimX2Y"プラグイン
楽:技林ブログで公開されている、文字列を任意の位置でトリミングするMovable...
このエントリーへトラックバックするURL (言及リンクのないトラックバックは無効です)