2013-10-29 49 views
0

我在工作,在一個框架(未Symfony的),包括樹枝作爲模板系統 我試圖逃離一個變種simplequotes在谷歌分析FUNC被稱爲:嫩枝:逃避simplequote爲JS

<a href="#" onClick="_gaq.push(['_trackEvent', '{{departement}}','{{Article.title|escape('js')}}', 'Partager']);">Partager</a> 

下面的代碼不正確escapte上Article.title simplequote,輸入

「排版」文字」

在這個模板給

「Lorem'0 ipsum」

我將控制器轉換爲沒有BOM的UTF-8,但它不能解決問題。

回答

1

最終的答案是,沒有錯誤可言逃單引號。 chrome的網絡標籤添加了一個尾隨的0,但我沒有看到它在谷歌分析時得到的事件,也沒有在頁面上。

1

您可以通過添加\'

<a href="#" onClick="_gaq.push(['_trackEvent', '{{departement}}','{{Article.title|escape(\'js\')}}', 'Partager']);">Partager</a> 
+0

我覺得問題不在這裏,js不影響Twig函數。這是等於「Lorem'0 ipsum」的{{Article.title | escape('js')}}的價值。 – pbenard

+0

http://www.w3.org/TR/xhtml1/#C_16 C.16 。已命名的字符引用' 已命名的字符引用'(撇號,U + 0027)是在XML 1.0中引入的,但未出現在HTML中。因此,作者應使用'而不是',以在HTML 4用戶代理中按預期工作。 –

+0

是的,escape('js')過濾器運用得很好,但在字符串單引號後輸出這個額外的0 @AshwinP查看源代碼後,單引號的實際輸出是\ x27,並且它在前面顯示'0'。我應該用替換過濾器來抓住\ x27,然後把'改爲? – SupFrig