2013-02-21 27 views
37

Laravelには、Smartyに似ているブレードテンプレートの切り捨て修飾子がありますか?Laravelブレードテンプレートの文字列を切り捨てます

私はちょうどテンプレートの実際のPHPを書くことができますが、私は少し書くのが面白いものを探しています(PHP全体がテンプレートエンジンの議論にならないようにしています)。私は私が作曲を経由して小枝のようなものを使用することができます知っている

{{ $myVariable|truncate:"10":"..." }} 

が、Laravel自体に機能が内蔵さのために私が望んでいる:

だから、例えば私のようなものを探しています。

スマイリーが提供するような独自の再利用可能な修飾子を作成することはできません。私はBladeがすべての文法を使いこなすわけではないが、切り捨ては本当に便利な機能だと思う。私はLaravel 4を使用してい

+0

何? –

+1

@HosMercury L5についてはhttp://stackoverflow.com/questions/29281013/how-to-use-illuminate-support-strslug-in-my-laravel-5-app – fl3x7

答えて

27

編集:筋力クラスが存在しなかった場合は、この答えは、Laravel 4ベータ版の間に投稿されたています。 Laravel 4でこれを行うより良い方法があります。これは以下のDustinの答えです。私はSOの規則のためにこの答えを削除することはできません(それは私に許されません)

ブレード自体にはその機能がありません。あなたができる -

はLaravel 3のSTRクラスがあった:私は筋力クラスはLaravel 4であるとは考えていないこの段階で

{{ Str::limit($myVariable, 10) }} 

を - あなた自身のプロジェクトに追加するbut here is a port of it that you can include in composer

+0

を参照してください。提案していただきありがとうございます。洞穴を掘り出して明道のポートを使うlol – fl3x7

+0

最近、Laravel 4はStrクラスを持っています。 Dustin Grahamの反応を参照してください。 – trm42

+0

はい - 正しいです。私が最初にこの回答を投稿したとき、Strクラスが存在しなかったLaravel 4 Betaの間にあった – Laurence

34

Laravel 4には、正確な文字数に切り捨てられるStr::limitと、単語境界で切り捨てられるStr::wordsがあります。

チェックアウト:Laravel 4 & 5では

+0

Larvel 5.2に 'Str :: words'と同等のものがあるのでしょうか? – Jiedara

+1

いいえ文字数ではなく単語数を制限しているようです。 :// github。com/laravel/framework/blob/5.2/src/Illuminate/Support/Str.php#L182 –

+0

これは私が探していたものでした!どうも ! – Jiedara

90

は、あなたが文字列の文字数を制限str_limitを、使用することができます。

{{ str_limit($string, $limit = 150, $end = '...') }} 
よりLaravelヘルパー関数について

http://laravel.com/docs/helpers#strings

+0

はうまく動作します。ありがとう – frostymarvelous

+11

これはまだlaravel 5で動作します – Szenis

+0

これは正解です – Leon

1

あなたは次のように名前空間を設定することができます。laravel 5について

{!! \Illuminate\Support\Str::words($item->description, 10,'....') !!} 
関連する問題