有人知道如何连接树枝中的字符串吗?我想做的事情是:

{{ concat('http://', app.request.host) }}

当前回答

快速回答(TL;DR)

细枝字符串连接也可以用format()过滤器完成

详细的回答

上下文

嫩枝2.倍 字符串构建和连接

问题

场景:DeveloperGailSim希望在Twig中进行字符串连接 这个线程中的其他答案已经解决了concat操作符 这个答案集中在更有表现力的格式筛选器上

解决方案

另一种方法是使用格式筛选器 格式过滤器的工作原理类似于其他编程语言中的sprintf函数 对于更复杂的字符串,格式过滤器可能没有~操作符那么麻烦

Example00

Example00字符串连接空 {{"%s%s%s!"|格式('alpha','bravo','charlie')}} ——结果—— alphabravocharlie !

Example01

Example01字符串与中间文本连接 {{" %s中的%s主要落在%s上!"|格式('alpha','bravo','charlie')}} ——结果—— b组的阿尔法主要攻击查理!

Example02

使用数字格式的Example02字符串连接 遵循与其他语言中的sprintf相同的语法 {{" %04d中的%04d主要落在%s!"|格式(2,3,'tree')}} ——结果—— 0003中的0002主要落在树上!

另请参阅

http://twig.sensiolabs.org/doc/2.x/filters/format.html https://stackoverflow.com/tags/printf/info

其他回答

快速回答(TL;DR)

细枝字符串连接也可以用format()过滤器完成

详细的回答

上下文

嫩枝2.倍 字符串构建和连接

问题

场景:DeveloperGailSim希望在Twig中进行字符串连接 这个线程中的其他答案已经解决了concat操作符 这个答案集中在更有表现力的格式筛选器上

解决方案

另一种方法是使用格式筛选器 格式过滤器的工作原理类似于其他编程语言中的sprintf函数 对于更复杂的字符串,格式过滤器可能没有~操作符那么麻烦

Example00

Example00字符串连接空 {{"%s%s%s!"|格式('alpha','bravo','charlie')}} ——结果—— alphabravocharlie !

Example01

Example01字符串与中间文本连接 {{" %s中的%s主要落在%s上!"|格式('alpha','bravo','charlie')}} ——结果—— b组的阿尔法主要攻击查理!

Example02

使用数字格式的Example02字符串连接 遵循与其他语言中的sprintf相同的语法 {{" %04d中的%04d主要落在%s!"|格式(2,3,'tree')}} ——结果—— 0003中的0002主要落在树上!

另请参阅

http://twig.sensiolabs.org/doc/2.x/filters/format.html https://stackoverflow.com/tags/printf/info

当您需要使用带有连接字符串(或基本数学操作)的过滤器时,您应该使用()来包装它。如:

{{('http://' ~ app.request.host) | url_encode}}

Twig还有一个鲜为人知的特性是字符串插值:

{{ "http://#{app.request.host}" }}
{{ ['foo', 'bar'|capitalize]|join }}

正如你所看到的,这与过滤器和函数一起工作,而不需要在单独的行上使用set。

混合字符串,变量和翻译,我简单地做以下:

    {% set add_link = '
    <a class="btn btn-xs btn-icon-only" 
       title="' ~ 'string.to_be_translated'|trans ~ '" 
       href="' ~ path('acme_myBundle_link',{'link':link.id})  ~ '">
    </a>
    ' %}

尽管所有的东西都混在一起了,但它却像魔法一样有效。