slug

这个 slug 过滤将给定的字符串转换为只包含安全ASCII码字符的另一个字符串。

下面是一个示例:

1
2
{{ 'Wôrķšƥáçè ~~sèťtïñğš~~'|slug }}
Workspace-settings

单词之间的默认分隔符是破折号 (- ),但是您可以通过将其作为参数传递来定义您选择的选择器:

1
2
{{ 'Wôrķšƥáçè ~~sèťtïñğš~~'|slug('/') }}
Workspace/settings

强击手会自动检测原始字符串的语言,但您也可以使用第二个参数显式指定它:

1
{{ '...'|slug('-', 'ko') }}

这个 slug 过滤使用的方法与symfony的方法相同 AsciiSlugger

注解

这个 slug 过滤是 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());

争论

  • separator :用于连接单词的分隔符(默认为 - )
  • locale :原始字符串的区域设置(如果未指定,将自动检测)