Twig

灵活、快速且安全
PHP 模板引擎

a Symfony Product
您正在阅读 Twig 3.x 的文档。切换到 Twig 1.x, 2.x 的文档。

问题与反馈

许可

Twig documentation 在新的 BSD 许可下获得许可。

u

u 过滤器将文本包装在 Unicode 对象(Symfony UnicodeString 实例)中,该对象公开了“操作”字符串的方法。

让我们看一些常见的用例。

将文本包装到给定的字符数

1
2
3
4
5
6
{{ 'Symfony String + Twig = <3'|u.wordwrap(5) }}
Symfony
String
+
Twig
= <3

在这里,u 是过滤器,wordwrap(5) 是在过滤器结果上调用的方法;它等效于 (text|u).wordwrap(5)

截断字符串

1
2
3
4
5
{{ 'Lorem ipsum'|u.truncate(8) }}
Lorem ip

{{ 'Lorem ipsum'|u.truncate(8, '...') }}
Lorem...

truncate 方法也接受第三个参数来保留完整单词

1
2
{{ 'Lorem ipsum dolor'|u.truncate(10, '...', false) }}
Lorem ipsum...

将字符串转换为 snake case 或 camelCase

1
2
3
4
5
{{ 'SymfonyStringWithTwig'|u.snake }}
symfony_string_with_twig

{{ 'symfony_string with twig'|u.camel.title }}
SymfonyStringWithTwig

您还可以链接方法

1
2
3
4
5
6
{{ 'Symfony String + Twig = <3'|u.wordwrap(5).upper }}
SYMFONY
STRING
+
TWIG
= <3

注意

u 过滤器是 StringExtension 的一部分,默认情况下未安装。首先安装它

1
$ composer require twig/string-extra

然后,在 Symfony 项目中,安装 twig/extra-bundle

1
$ composer require twig/extra-bundle

否则,在 Twig 环境中显式添加扩展

1
2
3
4
use Twig\Extra\String\StringExtension;

$twig = new \Twig\Environment(...);
$twig->addExtension(new StringExtension());