Smarty truncateを日本語で使う

PHP

Smartyで変数の最初から何文字を切り取る、というtruncateという修正子がありますが、マルチバイトに対応していないので、日本語だと文字化けする可能性があります。

検索すると、いくつかやり方があるみたいですが、下記のブログにあったものを紹介します。

Multibyte String Truncate Modifier for Smarty – mb_truncate

英語が苦手な方のために、解説です。

  1. PHPコードをコピーして、modifier.mb_truncate.php という名前で保存します。
  2. Smartyの/libs/plugins内にそのファイルを保存します。
  3. 使用するHTMLファイル内で、次のように使います。
 //$test_stringは切り取りしたい変数です。13が文字数、...が続く文字列です。
 {$test_string|mb_truncate:13:"..."}

下記の方法もあるようです。こちらは試してません。(^_^;
http://c-brains.jp/blog/wsg/07/06/14-160910.php

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です