2014-09-03 109 views
0

选择第一个字符串,我需要什么:如何嫩枝

  • 我从字符串只需要名字。

    Like String : Bodo Jorg Udo .. (i have .. notation if string of length is more then 20). 
    

    这里是源代码

     {%if item.metadata.name |length < 20 %} 
         {{item.metadata.name}} 
         {%else%}{{WordLimit(item.metadata.name,10,10)}} .. 
          {%endif%} 
    

    输出应该像

    Bodo 
    

回答

2

你可以用嫩枝的拆分过滤器相匹配的空白字符。它会返回一个包含分割字符串的数组。

New in version 1.10.3: The split filter was added in Twig 1.10.3. 
The split filter splits a string by the given delimiter and returns a list of strings: 

{% set foo = "one,two,three"|split(',') %} 
{# foo contains ['one', 'two', 'three'] #} 

在你的情况,你会想在嫩枝文档的Split page一个空白| split(' ')

更多信息以取代逗号。

+0

拆分后的广告d第一个过滤器,它会给你你的名字。 '{%set yourVariable = yourString | split('')| First()%}' – kodvin 2014-09-08 13:53:32

0

我想你是从文本扩展名中寻找截断过滤器。 http://twig.sensiolabs.org/doc/extensions/text.html

您可以通过添加这样的服务定义进行配置:

services: 
twig.extension.text: 
    class: Twig_Extensions_Extension_Text 
    tags: 
     - { name: twig.extension } 

那么你可以申请过滤器:

{{ item.metadata.name|truncate(10) }} 

过滤器有一些争论,而且重要的一个因为你是分隔符值(默认情况下它的“...”,这是你想要的值,如果字符串多于10个字符)