u
¶
这个 u
过滤器将文本包装在Unicode对象(a Symfony UnicodeString instance )它公开“操纵”字符串的方法。
让我们看看一些常见的用例。
将文本换行为给定字符数:
1 2 3 4 5 6 | {{ 'Symfony String + Twig = <3'|u.wordwrap(5) }}
Symfony
String
+
Twig
= <3
|
截断字符串:
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...
|
将字符串转换为 蛇 案例或 骆驼壳 :
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
|
对于大型字符串操作,请使用 apply
标签:
1 2 3 | {% apply u.wordwrap(5) %}
Some large amount of text...
{% endapply %}
|
注解
这个 u
过滤器是 StringExtension
默认情况下不安装。先安装:
1 | $ composer require twig/string-extra
|
然后,在symfony项目上,安装 twig/extra-bundle
:
1 | $ composer require twig/extra-bundle
|
否则,请在Twig环境中显式添加扩展::
use Twig\Extra\String\StringExtension;
$twig = new \Twig\Environment(...);
$twig->addExtension(new StringExtension());