2013-07-10 34 views
3

我目前正在嘗試使用視圖的當前網址進行變量。要獲取網址,我使用{%set uri = app.request.uri%}(uri是我的變量,它是該特定視圖的當前網址)。事情是,我只關心什麼使得url獨一無二(它的結尾 - 一個數組中唯一的對象 - 恰巧是一個uri),而不是開始(我的應用程序的路徑)。我想我可以使用preg_replace來做,但TWIG沒有這個功能。只是想知道如果有人會知道如何完成我想要做的事情?如何做一個preg_replace在樹枝

我是Symfony(PHP相當新)的新手,所以我的解釋可能不清楚(對不起)。

Ex。

{% set uri = app.request.uri %} 

輸出:http://website.com/http://item.org/1

我想修改的URI變量只有http://item.org/1(而不是路徑到我的網站)。

我在想用preg_replace創建一個樹枝擴展將允許我這樣做..但不知道如果這是最好的方式去(沒有經驗)。


總體目標: 的唯一值在視圖「URI」是從與屬性,一個是「URI」對象($結果)的陣列附加到網站的路徑通過另一視圖。我的最終目標是僅顯示我的$ results數組中的對象的所有關聯屬性(或行)。 我在想我可以這樣做,首先在foreach中創建一個鍵(我的uri變量),然後返回與該鍵匹配的數組中的行。這就是爲什麼我想創建一個帶有url的變量,這樣我就可以將它用作我的foreach循環來遍歷$結果的關鍵。我不使用數據庫或原則。

謝謝你提前幫忙!

回答

3

最好的方法是將邏輯從模板移動到控制器。

如果您需要preg_replace小枝,您必須創建custom extension

+1

我已經創建[延伸嫩枝中使用PCRE(https://github.com/jasny/twig-extensions#pcre )。可能對這個問題有用。 –