Blade.phpで指定された長さに文字列を切り詰める方法


  1. str_limit関数を使用する方法: Laravelのstr_limit関数は、指定された文字数に文字列を切り詰めるために使用できます。

    {{ str_limit($string, $limit = 100, $end = '...') }}

    上記のコードでは、$stringに切り詰める対象の文字列を指定し、$limitには切り詰める文字数を設定します。$endは省略可能で、切り詰めた文字列の末尾に追加するテキストを指定します。

  2. mb_substr関数を使用する方法: もしマルチバイト文字列を扱う場合は、mb_substr関数を使用することが推奨されます。

    {{ mb_substr($string, 0, $limit) }}

    上記のコードでは、$stringに切り詰める対象の文字列を指定し、$limitには切り詰める文字数を設定します。

  3. 自作のヘルパーメソッドを使用する方法: もし独自のロジックを実装したい場合は、自作のBladeヘルパーメソッドを作成することもできます。

    まず、app/HelpersディレクトリにHelpers.phpというファイルを作成し、以下のようなコードを追加します。

    <?php
    function truncateString($string, $limit, $end = '...')
    {
       if (mb_strlen($string) <= $limit) {
           return $string;
       }
       return mb_substr($string, 0, $limit) . $end;
    }

    その後、composer.jsonファイルのautoloadセクションに以下のコードを追加し、Composerを更新します。

    "autoload": {
       "files": [
           "app/Helpers/Helpers.php"
       ]
    }

    これでヘルパーメソッドが利用可能になります。Bladeテンプレート内で以下のように使用することができます。

    {{ truncateString($string, $limit) }}