我不熟悉twig,我试图获得图像扩展,但我不知道如何在twig中执行此操作,在php中使用字符串函数(如substr和indexof)或使用以下内容非常容易:ext = pathinfo ('/ testdir/dir2/image.gif',PATHINFO_EXTENSION),我不想在控制器中编码并将其作为参数传递给twig,而是我想直接在树枝布局中提取它,所以我要怎么做这样做?
答案 0 :(得分:14)
您可以通过这种方式获得文件扩展名
{{ "filename.txt"|split('.')|last }}
答案 1 :(得分:2)
一种方法是使用Twig的slice过滤器。
例如,如果图片文件的路径为imgSrc
,那么imgSrc|slice(-4)
将为您提供文件名的最后4个字符(例如.gif
,.jpg
,jpeg
)。
答案 2 :(得分:0)
在树枝中,使用分割滤镜。见http://twig.sensiolabs.org/doc/filters/split.html
你也可以简单地在控制器中获取扩展名并将其传递给twig。
答案 3 :(得分:0)
您可以创建包含
的Twig extension命名空间YourApp \ AcmeBundle \ Twig;
class MyTwigExtension extends \Twig_Extension
{
public function getFilters(){
return array(
new \Twig_SimpleFilter('ext', array($this, 'ext')),
);
}
public function ext($filepath){
$ext = pathinfo($filepath, PATHINFO_EXTENSION);
return $ext;
}
}