限制单词而不是 Laravel 中的字符
Limit Words not Characters in Laravel
我正在使用 Laravel 5.7 并且想知道在我从数据库中提取并输出到 [=28] 的描述中限制单词数量而不是字符数量的正确方法是什么=].
我目前通过在我的 Blade 文件中添加以下内容来实现此目的(注意 class Str 在 Blade/view 中):
@php use Illuminate\Support\Str; @endphp
{!! (nl2br(e(Str::words($test->testimonial, '25')))) !!}
以上将我的段落限制为 25 个字,但我意识到我应该在我的控制器中使用 Str class,而不是 Blade。
当我在我的控制器而不是 Blade 中添加 use Illuminate\Support\Str;
时,我得到了缺少 Str 的错误。
控制器
use App\Testimonial;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
...
public function index()
{
$testimonial = Testimonial::all();
return view('testimonials.index',compact('testimonial'));
}
如何在控制器中使用 Str class 而不是 Blade?
class Testimonial extends Model
{
public function getTestimonialExcerptAttribute()
{
return Str::words($this->testimonial, '25');
}
}
然后您可以在您的 blade 模板或控制器上使用它..
@foreach($testimonials as $testimonial)
{{ $testimonial->testimonial_excerpt }}
@endforeach
我正在使用 Laravel 5.7 并且想知道在我从数据库中提取并输出到 [=28] 的描述中限制单词数量而不是字符数量的正确方法是什么=].
我目前通过在我的 Blade 文件中添加以下内容来实现此目的(注意 class Str 在 Blade/view 中):
@php use Illuminate\Support\Str; @endphp
{!! (nl2br(e(Str::words($test->testimonial, '25')))) !!}
以上将我的段落限制为 25 个字,但我意识到我应该在我的控制器中使用 Str class,而不是 Blade。
当我在我的控制器而不是 Blade 中添加 use Illuminate\Support\Str;
时,我得到了缺少 Str 的错误。
控制器
use App\Testimonial;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
...
public function index()
{
$testimonial = Testimonial::all();
return view('testimonials.index',compact('testimonial'));
}
如何在控制器中使用 Str class 而不是 Blade?
class Testimonial extends Model
{
public function getTestimonialExcerptAttribute()
{
return Str::words($this->testimonial, '25');
}
}
然后您可以在您的 blade 模板或控制器上使用它..
@foreach($testimonials as $testimonial)
{{ $testimonial->testimonial_excerpt }}
@endforeach