MT:任意の文字列を抽出するモディファイアとプラグイン

Movable Type で任意の文字列を抽出するには、テンプレートタグと合わせて使うグローバル・モディファイアの「trim_to」を使用すると、最初の N 文字を取り出すという方法がある事に、今日、気が付きました。

<mt:entrytitle trim_to="N" />

Movable Type グローバル・モディファイアリファレンス|trim_to

これはこれで、知っていると便利だと思いますが
「途中の xx文字目から xx文字目まで」
「最後の xx文字だけ」
といった事が出来ません。

では、途中の文字列を抽出するにはどうしたらいいか?
文字列の一部を削除するプラグイン「CutString」と、任意の位置で切り出すプラグイン「TrimX2Y」を使用すると、途中の文字列を抽出する事が出来ます。

「CutString」は、テンプレートタグのアトリビュートとして以下の様に指定すると、任意の文字列を削除・抽出する事が出来ます。

cutbefore="x" を指定すると、コーテーションで指定した任意の文字以前を削除

<$MTCategoryLabel cutbefore="x"$>

cutnext="x" を指定すると、コーテーションで指定した任意の文字以降を削除

<$MTCategoryLabel cutnext="x"$>

getstr="y" を指定すると、先頭から指定数値分の文字列を抽出

<$MTCategoryLabel getstr="y"$>

任意の文字列を抽出する:CutString|スカイアークシステム

「TrimX2Y」は、テンプレートタグのアトリビュートとして trimx2y="x-y" と指定する事で、文字列の先頭や後ろを削除したり、任意の位置で抽出する事ができます。

x文字目以降を切り出す場合

<$MTEntryTitle trimx2y="x-"$>

y文字目までを切り出す場合

<$MTEntryTitle trimx2y="-y"$>

x文字目から y文字目までを切り出す場合

<$MTEntryTitle trimx2y="x-y"$>

切り出し位置の指定に、ゼロ、数字以外を使用する、開始位置が終了位置より大きい(x > y)場合は全ての文字が抽出されます。
また、文字列の長さに対して数値が大きい場合、文字列が 10文字で開始位置が 11、何も表示されなくなります。

TrimX2Y|楽:技林ブログ

Appshocker

HonyaClub.com

リンクシェア アフィリエイト紹介プログラム