【问题标题】:Show first 50 words显示前 50 个单词
【发布时间】:2017-11-28 08:51:24
【问题描述】:

我有一个很长的段落作为描述,在摘要中,我只想显示其中的一部分,即前 50 个单词。此描述存储在数据库中。

那么我怎样才能只显示此描述的前 50 个单词? 我正在使用 Laravel 5.5。

我这样称呼它:

<p class="text-danger"> {{$project->description}} </p>

【问题讨论】:

标签: laravel-5.5


【解决方案1】:

您可以使用str_limit()

试试这样:

{{ str_limit($project->description, 50) }}

希望对您有所帮助!

【讨论】:

  • 它按字符计数,而不是按单词计数。但这对我来说没问题,谢谢。
  • 很高兴能帮到你!接受并关闭问题!
  • @Gist 试试这个:{!! Str::words($project-&gt;description, 10,'....') !!}希望这就是你要找的!但我认为这仅适用于 Laravel 4,不适用于 L5。现在只需尝试看看结果!
  • 由于某种原因str_limit对我不起作用,因为该功能已被弃用read it here,我不得不使用Str::limit,但我会使用Str::words(看起来更好我正在努力)
【解决方案2】:

这样做

 {{ strlen($project->description) > 50 ? substr($project->description,0,50).'..' : $project->description }}

【讨论】:

  • 它给出的结果与接受的解决方案相同。谢谢。
【解决方案3】:

你可以使用array_splice:

{{ implode(' ', array_splice(explode(' ', $project->description), 0, 50)) }}

【讨论】:

    【解决方案4】:

    在你的模型中使用

    public function getShortContentAttribute()
        {
            return substr($this->content, 0, random_int(60, 150)). '...';
        }
    

    如下图所示使用

    {{ $article->ShortContent }}
    

    【讨论】:

    • 这将为您的 60 到 150 字的短语提供随机数,希望这就是您所期待的
    【解决方案5】:

    现在我们可以使用

    {{ \Illuminate\Support\Str::words($project->description, 50 ) }}
    

    在 Laravel 中显示前 50 个单词

    【讨论】:

      猜你喜欢
      • 2010-10-17
      • 2012-05-09
      • 2019-10-13
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多