1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CakePHPでテキストを切り詰めてサフィックスを付ける

Posted at

はじめに

テキストを特定の文字数で切り詰めて末尾に...などを付けたいときありますよね。
PHPでの組み込み関数を使えば簡単に実現できるのですが、CakePHPでは更に簡単に使えるものがありました。
最新のCakePHP4のものを紹介します。(2.x、3.xでもありました)

使い方

Cookbookに載っている通りになるのですが、
Cake\Utility\Text::truncate(string $text, int $length = 100, array $options)メソッドを利用します。

$text$lengthより長い場合、このメソッドはそれを$lengthの長さに切り詰め、 'ellipsis'が定義されているなら末尾にその文字列を追加します。

ちなみにellipsisは日本語で省略記号という意味です。(truncate切り捨てる


use Cake\Utility\Text;

$text = 'テキストを切り詰めます'

echo Text::truncate(
    $text,
    5,
    [
        'ellipsis' => '...',
    ]
);

出力:

テキストを...

※$textがnullの場合でもサフィックスだけ表示されちゃうみたいなことは起きません。

おわりに

FWを利用する場合、汎用的なメソッドであれば便利な形で用意されてることもあるので、一度FW標準のものがないか確認した上で、なければ組み込み関数を使うといった手順を踏んだ方がよい、と本日先輩に教わりましたので備忘録として書き記しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?