在Twig Symfony2中获取图像扩展名

时间:2013-11-25 22:11:04

标签: symfony twig

我不熟悉twig,我试图获得图像扩展,但我不知道如何在twig中执行此操作,在php中使用字符串函数(如substr和indexof)或使用以下内容非常容易:ext = pathinfo ('/ testdir/dir2/image.gif',PATHINFO_EXTENSION),我不想在控制器中编码并将其作为参数传递给twig,而是我想直接在树枝布局中提取它,所以我要怎么做这样做?

4 个答案:

答案 0 :(得分:14)

您可以通过这种方式获得文件扩展名

{{ "filename.txt"|split('.')|last }}

答案 1 :(得分:2)

一种方法是使用Twig的slice过滤器。

例如,如果图片文件的路径为imgSrc,那么imgSrc|slice(-4)将为您提供文件名的最后4个字符(例如.gif.jpgjpeg)。

答案 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;
}

}
相关问题