用树枝将文本分成两段

Split text in two paragraphs with twig

我有使用 Twig 生成的富文本。正文分为两段。 如何创建阅读更多内容 function/button,其中显示第一段,而第二段将在单击按钮时可见?

我是这样想的:

  {% set paragraphs = content | split('</p>') %}
{% set firstParagraph = paragraphs | first ~ '</p>' %}
{% set secondParagraph = paragraphs[:2] ~ '</p>' %}
          <div class="accordion-group">
        <div class="accordion-heading">
          <a class="accordion-toggle custom-title" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo"></a>
          <p>{{ firstParagraph | raw }}</p>
        </div>
        <div id="collapseTwo" class="accordion-body collapse">
          <div class="accordion-inner">
            <p>{{ secondParagraph | raw }}</p>
          </div>
        </div>
        <script type="text/javascript">

          $(document).ready(function(){
            $('.SeeMore2').click(function(){
              var $this = $(this);
              $this.toggleClass('SeeMore2');
              if($this.hasClass('SeeMore2')){
                $this.text('{{ 'Read more' | t }}');      
              } else {
                $this.text('{{ 'Read less' | t }}');
              }
            });
          });
        </script>
        <a class="SeeMore2" data-toggle="collapse" href="#collapseTwo">{{ 'Read more' | t }}</a>

问题是第二段returnsarray作为回应。

您正在使用 slice, which is actually using array_slice,其中 returns 数组。

如果你只想获取一个元素,那么你可以使用 php 语法:

{% set paragraphs = content | split('</p>') %}
{% set firstParagraph = paragraphs[0] ~ '</p>' %}
{% set secondParagraph = paragraphs[1] ~ '</p>' %}

请阅读有关 twig 语法和变量的更多信息here