我需要的是什么:
我只需要字符串中的名字。
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
答案 0 :(得分:2)
您可以使用Twig的Split过滤器来匹配空白字符。它将返回一个包含分割字符串的数组。
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(' ')
Twig文档Split page中的更多信息。
答案 1 :(得分: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个以上的字符,那就是你想要的值)