我是ZF的新手。HtmlEntities和Zend TextArea
我一直在建立一個關於Zend Framework的網站。 一切看起來不錯。
但我不知道如何解決1問題,這實際上是開發文章管理模塊時必不可少的。
我已經得到了具有ZEND_TextArea,看起來像這樣的形式:
$full_text = new Zend_Form_Element_TextArea('full_text');
$full_text->setLabel('Description:')
->setOptions(array('rows' => '28','cols' => '40'))
->setRequired(true)
->addValidator('NotEmpty', true)
->addFilter('HTMLEntities')
->addFilter('StringTrim');
它工作的偉大,它有過濾器ヶ輛是用於過濾文本區域確實是必不可少的。
在網站上顯示保存的數據時,我使用的是html_entity_decode($item['full_text'])
,這很好。
但只要我嘗試編輯它,它加載編碼的文本到我的textarea,編輯它編碼我已編碼的文本之後 - 和在頭版我得到這樣可怕的事情:
p;quot;color: #ff0000;">asdasda</
span>sdas <strong>sdfsdf&
lt;/strong>&
也許有人可以幫我弄清楚如何處理這個問題,特別是將解碼後的數據加載到TextArea的Edit窗體中,這樣我的字符串就不會被編碼兩次了,而編輯它時卻是以人爲的方式顯示,而不是編碼的。
如果您可以提供代碼示例 - 將真的很棒!
謝謝!!
如果您在顯示數據前對數據進行解碼,爲什麼麻煩編碼呢? –
我正在爲用戶在網站上解碼它,我想在編輯'cuz編碼數據時解碼它,這些數據在表單處理後再一次被編碼。編碼的數據也不可能編輯。 – mrGott
請勿在textarea元素中應用HtmlEntities過濾器。在插入數據庫之前,在您的模型中應用HtmlEntities。這個過濾器將HtmlEntities應用於任何時間(甚至是另一個實體)在texarea中的任何東西。 – RockyFord