У меня есть регистрационная форма с несколькими полями. Один из них выглядит так:
$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; (</p>
Есть ли элегантное решение этой проблемы, кроме переформатирования данных перед их передачей в форму?