Smartyで日本語などのマルチバイト文字の丸め。

Smartyで文字を丸める時は、truncate修飾子などを使いますが、残念ながら日本語などのマルチバイトに対応していません。
ですが、PHPの関数をそのまま使用できるので、マルチバイト対応のmb_strimwidthを使ってみてはどうでしょうか。

[smarty]
{$hoge|mb_strimwidth:0:15:”…”|escape}
[/smarty]

無事丸められましたでしょうか。

mb_strlenのような文字数と勘違いしてましたが、mb_strwidthで得られるのと同じ、文字なんですよね。

自分でオリジナルの修飾子を作るのも良いと思います。

タイトルとURLをコピーしました