如何使用addElement()在Zend表单元素的标签中允许html标签?

The*_*eek 6 zend-framework escaping zend-decorators zend-form-element

我是Zend的新手,我已经获得了一个调整项目.我想在我的表单元素的标签中添加html,但我似乎无法做到正确.

这就是我所拥有的:

$this->addElement('text', 'school_name', array(
    'filters' => array('StringTrim'),
        'validators' => array(
            array('StringLength', false, array(0, 150)),
        ),
    'required' => true,
    'label' => 'Name* :<img src="picture.png">,
    'size' => '90',
));
Run Code Online (Sandbox Code Playgroud)

当然,<img src="picture.png">文本会被转义并显示整个字符串.

我已经读过我需要以'escape' => false某种身份使用但我无法弄清楚在特定情况下在何处/如何使用它.

任何帮助都会很棒.谢谢!

Mic*_*Osl 8

在调用addElementfetch标签的​​装饰器并更改转义设置后:

$form->getElement('school_name')->getDecorator('label')->setOption('escape', false);

如果你经常使用这种类型的标签,你应该考虑编写一个自定义装饰器.


Ons*_*hop 6

在向表单添加元素时,您还可以在'label_options'中使用disable_html_escape:

$this->add(array(
    ....
    'options' => array(
        'label' => '<span class="required">Name</span>,
        'label_options' => array(
             'disable_html_escape' => true,
         )
     ),
    ...
));
Run Code Online (Sandbox Code Playgroud)

感谢西奥Bouveret的的帖子"在ZF2形式按钮内容"的答案.