Twig:Twig 中带有正则表达式的 Slug?
Twig: Slug with Regex in Twig?
我想对一个值进行 slugify,例如 "slugName = Spain & Italy"
当我在 TWIG {{ slugName|slugify }}
中制作 slug 时,结果是 Spain_amp_Italy
是否可以在 Twig 中设置一个正则表达式,这样我的“&”就可以翻译成 "and"?
谢谢
您可以连接多个过滤器,并使用一个简单的函数 replace()
:
{{ slugName| replace({'&': 'and'}) | slugify }}
您可以创建一个自定义函数来执行此操作
<?php
$twig->addFilter(new Twig_Filter('ampersand_to_and', function( $string = '' ) {
return preg_replace('/(&|&)/m', 'and', $string );
}));
然后你可以按如下方式使用它:
<p>{{ 'Spain & Italy'|ampersand_to_and }}</p>
<p>{{ 'Spain & Italy'|ampersand_to_and }}</p>
我想对一个值进行 slugify,例如 "slugName = Spain & Italy"
当我在 TWIG {{ slugName|slugify }}
中制作 slug 时,结果是 Spain_amp_Italy
是否可以在 Twig 中设置一个正则表达式,这样我的“&”就可以翻译成 "and"? 谢谢
您可以连接多个过滤器,并使用一个简单的函数 replace()
:
{{ slugName| replace({'&': 'and'}) | slugify }}
您可以创建一个自定义函数来执行此操作
<?php
$twig->addFilter(new Twig_Filter('ampersand_to_and', function( $string = '' ) {
return preg_replace('/(&|&)/m', 'and', $string );
}));
然后你可以按如下方式使用它:
<p>{{ 'Spain & Italy'|ampersand_to_and }}</p>
<p>{{ 'Spain & Italy'|ampersand_to_and }}</p>