2
我有一個包含幾個字段的註冊表單。其中一個看起來像這樣:Zend表單和Zend過濾器HtmlEntities
$first_name = new Zend_Form_Element_Text('first_name');
$first_name ->setLabel("First name")
->setRequired(true)
->addFilter(new Zend_Filter_HtmlEntities());
我使用相同的表單編輯用戶的詳細信息。 問題在於Zend_filter_HtmlEntities。當我將表單的數據發送到數據庫時,它完成了這項工作,它將html特殊字符替換爲替代。 然而,當我初始化這個表單並從數據庫記錄中給它默認值時,Zend_filter_HtmlEntities再次過濾這些值,並且在我的輸入字段中出現一些垃圾。
例如,在第一名輸入欄,代替<b>Name, I get &lt;b&gt; Name
這意味着,當表單用默認值呈現,元件過濾器再次施加和<因爲& LT; :(
有一種優雅的解決這個問題,除了之前被傳遞到窗體?
這是普遍認可的正確方法嗎?不要將htmlentities/specialchars過濾器添加到表單等,只在輸出數據時使用它(而不是輸入) – mr12086 2012-04-30 12:36:04