文字列の幅を取得する関数をSmartyで利用可能に
掲載 2015年07月アップデート
仕様変更・その他
正式版
- 対象モジュール
- smarty plugin
- 内容
- ●記述方法
[mb_strwidth]
文字列の幅を返す
{$string01|mb_strwidth}
とすると$string01の幅が出力されます。
マルチバイト文字は、通常はシングルバイト文字の倍の幅となります。
if文で
{if $string01|mb_strwidth > 10}
のように使うことも可能です。
[mb_strimwidth]
指定した幅で文字列を丸める
{$string02|mb_strimwidth:0:10}
とすると$string02の0文字目から幅10までで、文字を丸めます。
{$string02|mb_strimwidth:0:10:"..."}
とすると、丸めたた後にその文字列の最後に"..."を追加します。
- 使うシチュエーション
- 全角文字と半角文字が混在する文字列が、特定の幅に達したときに処理を分岐させたい場合などにご利用ください。