2011-02-28 29 views
0

我在我的TPL文件中使用這個,像用strip_tags不正常

{strip_tags({$obj->getfunc()})} 

,它給MES錯誤,如syntax error: unrecognized tag:

是什麼毛病?語法

完整的錯誤消息

<b>Fatal error</b>: Smarty error: [in file.tpl line 7]: syntax error: unrecognized tag: strip_tags({$obj->getfunc() 
+1

你能告訴我們什麼'$ obj-> getfunc()'是? – kjy112 2011-02-28 14:02:11

+0

準確發佈您收到的錯誤。這是一個Smarty系統嗎? – powtac 2011-02-28 14:03:31

+0

@powtac - 是它的聰明.. – Hacker 2011-02-28 14:04:35

回答

1

您的代碼:

strip_tags({$obj->getfunc()}) 

這裏的問題是{}花括號。我不知道你爲什麼認爲你需要這些,但他們不是必需的。

[編輯]

我看到你編輯的問題/評論請注意,您正在使用Smarty的。現在花括號是有道理的。

我想你剛開始只用{$obj->getfunc()},並決定對它做strip_tags()以防止黑客入侵。

{}大括號是Smarty的一部分,所以您應該只將它們用於整個代碼塊。因此,您需要它們在strip_tags()函數之外,而不是在裏面,在方法調用中就像之前一樣。

所以不是這個strip_tags({$obj->getfunc()})的,你應該有這樣的事情:

{strip_tags($obj->getfunc())} 

希望有所幫助。

[編輯2]

好吧,我是一個PHP開發,而不是一個智者開發。上面的代碼是有效的PHP(不包括{}大括號)。但也許聰明不喜歡那樣。

我用Google搜索,發現這個網頁的Smarty的網站上:http://www.smarty.net/docs/en/language.modifier.strip.tags.tpl

該頁面給出了一些具體的Smarty的語法strip_tags的,所以此基礎上,它看起來像你的代碼應該是這樣的:

{$obj->getfunc()|strip_tags} 
+0

我也那麼做......但同樣的錯誤.. – Hacker 2011-02-28 14:10:49

+0

@pradeep:看到新的編輯。 – Spudley 2011-02-28 14:22:47

+0

感謝之人..那麼工作就像一個魅力... – Hacker 2011-02-28 14:38:57

0

在你的模板從JavaScript代碼替換{{literal}}{/literal}

1

我會在預運行這個功能不但是在業務邏輯層面。