ZF初心者です。
Zend Framework で Web サイトを構築しています。すべてが良さそうです。
しかし、記事管理モジュールを開発する際に実際に不可欠な 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');
それはうまく機能し、TextArea のフィルタリングに本当に不可欠なフィルター HTMLEntities を備えています。
保存したデータを自分の使っているサイトに表示させてみる html_entity_decode($item['full_text'])
と問題ありません。
しかし、編集しようとするとすぐに、エンコードされたテキストがテキストエリアに読み込まれ、編集後に既にエンコードされたテキストがエンコードされます。フロントページには、次のようなひどいものがあります。
p;quot;color: #ff0000;">asdasda</
span>sdas <strong>sdfsdf&
lt;/strong>&
誰かがこの問題の処理方法を理解するのを手伝ってくれるかもしれません。特に、デコードされたデータを TextArea の Edit フォームにロードして、文字列が 2 回エンコードされないようにし、編集時にエンコードされたものではなく人間の方法で表示されるようにします。
コード例を提供できれば、本当に素晴らしいです!!
ありがとう!!