【问题标题】:How the first word of the sentence to put in the span如何将句子的第一个单词放在 span 中
【发布时间】:2017-07-28 18:21:45
【问题描述】:

我使用 laravel 和刀片。我不知道 record.title 中的第一个单词是如何放在 span 中的。有谁知道并可以帮助我?编辑:我忘记了最重要的事情。这是cms october的htm页面

<h2><span>The</span> {{ record.title }}</h2>

【问题讨论】:

  • 您可能需要考虑边缘情况,例如单字句子,例如太棒了!

标签: php string laravel replace octobercms


【解决方案1】:

October CMS 使用twig 模板引擎。您可以在模板中执行此操作:

{{ record.title | split(' ')[0] }}
// for the rest of string 
{{ record.title[1:] }}

【讨论】:

  • 这将只显示第一个单词,如何打印句子的其余部分?另外,OP 说他有简单的 HTML 文件。
  • 最终解决方案 {% set arrForTitle = record.title|split(' ', 2) %}

    {{ arrForTitle[0] }} {{ arrForTitle[ 1] }}

    再次:非常感谢。
【解决方案2】:

您可以将字符串拆分为单词:

$words = explode(' ',trim(record.title));

然后得到第一个:

$first_word = $words[0];

【讨论】:

  • 我忘记了最重要的事情。这是来自 cms october 的 htm 页面
【解决方案3】:

使用explode() 创建一个单词数组,使用str_after() 显示第一个单词之后的所有单词:

@php $sentence = explode(' ', $record->title) @endphp
<span>{{ $sentence[0] }}</span>
{{ $str_after($sentence, $sentence[0].' ') }}

【讨论】:

  • 我忘记了最重要的事情。这是来自 cms october 的 htm 页面
  • @Piotr explode 是 PHP 函数。 str_after 是 Laravel 助手。所以这应该适用于任何模板引擎,如果你不使用 Blade,你可能需要使用 &lt;?php ?&gt; 而不是 @php。你试过这个解决方案吗?
  • 我尝试将文件 htm 从 10 月 CMS 更改为 PHP。十月不接受php文件。我尝试使用
  • @Piotr 我不知道你说的 HTML 是什么意思,因为它不可能是一个简单的 HTML 文件。但是您可以创建一个像 spanFirstWord() 这样的帮助器,然后从应用程序的任何部分调用它来创建一个 HTML 就绪的字符串。
  • 如果您在 10 月 cms 中添加新页面,您将拥有 htm 文件。十月使用树枝,而不是刀片。我的错,对不起
猜你喜欢
  • 2011-07-20
  • 1970-01-01
  • 2011-01-26
  • 2011-01-29
  • 2012-09-06
  • 1970-01-01
  • 2015-05-30
  • 2013-04-04
  • 1970-01-01
相关资源
最近更新 更多