用Laravel显示博客文章摘录

303*_*03K 8 php laravel

我正试图展示excerpts博客文章.我可以用php和做mysql.但是,我想知道在Laravel框架内是否有更"友好"的方式.

谢谢!

Aat*_*Sai 12

您可以使用该方法执行此操作 words

默认是:

 words($value,$words = 100, $end='...');
Run Code Online (Sandbox Code Playgroud)

你可以像这样实现它

Str::words($post->body);

Str::words($post->body,10); //will show first 10 words
Run Code Online (Sandbox Code Playgroud)


Muh*_*raz 10

对不起,我很晚,但希望它会帮助某人:

像这样使用它可能会抛出"Class'Str'未找到错误":

Str::words($post->body,10);
Run Code Online (Sandbox Code Playgroud)

与完整命名空间一起使用,如下所示:

\Illuminate\Support\Str::words($post->body, 10);
Run Code Online (Sandbox Code Playgroud)

或点:

\Illuminate\Support\Str::words($post->body, 10,'...');
Run Code Online (Sandbox Code Playgroud)

或者在config/app.php中将该函数注册为Facade ,尝试像这样添加它:

'aliases' => [
...
        'Str' => Illuminate\Support\Str::class,
...
]
Run Code Online (Sandbox Code Playgroud)

然后使用Str :: any where!,因此你可以免费使用:Str :: words($ post-> body,10);

需要简短而又整洁的解决方案,只需使用Laravel的str_limit()辅助函数:

str_limit($post->body, 10);
Run Code Online (Sandbox Code Playgroud)

要么

str_limit($post->body, 10,'...');
Run Code Online (Sandbox Code Playgroud)