2013-11-25 46 views
1

我不是很熟悉小枝,我試圖得到一個圖像擴展,但我不知道如何在樹枝做這個,在PHP中它很容易使用字符串函數,如substr和indexof或與如下所示:ext = pathinfo('/ testdir/dir2/image.gif',PATHINFO_EXTENSION),我不想在控制器中編寫代碼並將它作爲參數傳遞給twig,而是直接在樹枝佈局中提取它,那麼怎麼做呢?得到圖像擴展在小枝Symfony2

回答

0

您可以創建Twig extension,將包含

命名YourApp \ AcmeBundle \枝條;

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

} 
+0

作爲biginner我會避免這種情況的解決方案,因爲如果我有樹枝延伸到工作,那麼我必須知道如何一起工作因爲擴展沒有被延遲加載。正如我在你給我的文章中讀到的,至少謝謝我至少有一個想法:) – ZeSoft

1

一種方法是使用Twig的slice過濾器。

例如,如果路徑到映像文件是imgSrc,然後imgSrc|slice(-4)會給你最後4個字符的文件名(如:.gif.jpgjpeg)的。

9

您可以通過這種方式獲得的文件擴展名

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