Zend framework2 Zend Framework 2表单元素标签无转义

Zend framework2 Zend Framework 2表单元素标签无转义,zend-framework2,Zend Framework2,我想知道如何禁用表单复选框元素标签上的转义 我想要我的标签html,这是我当前的代码: $score = new \Zend\Form\Element\MultiCheckbox('score'); $score->setLabel('Score'); $score->setOptions(array('value_options' => array(1 => '<b>Test 1</b>', 2 => '<b&

我想知道如何禁用表单复选框元素标签上的转义

我想要我的标签html,这是我当前的代码:

    $score = new \Zend\Form\Element\MultiCheckbox('score');
    $score->setLabel('Score');
    $score->setOptions(array('value_options' => array(1 => '<b>Test 1</b>', 2 => '<b>Test 2</b>')));
    $score->setAttributes(array('escape' => false));
    $this->add($score);
$score=new\Zend\Form\Element\MultiCheckbox('score');
$score->setLabel('score');
$score->setOptions(数组('value_options'=>array(1=>test1',2=>test2'));
$score->setAttributes(数组('escape'=>false));
$this->add($score);

您没有办法使HTML转义器短路。上的代码不允许条件转义。为了呈现HTML,您需要创建自己的视图助手

但是,如果您希望做的只是将标签设置为粗体,那么您可以使用CSS实现这一点。“值_选项”选项可以是一个数组数组,其中第二级包含多检查框中每个单独输入的选项。例如:

'value_coptions' => array(
  'test_1' => array(
      'value' => '1',
      'label' => 'Test 1',
      'label_attributes' => array( 'style' => 'font-weight: bold' ),
      'selected' => true,
  ),
),

永远不要将HTML标记用于样式设置。使用CSS来设置标签的样式@山姆-我很好奇你是如何做到这一点的……你能举个例子吗?提前感谢您对派对的迟到评论!:)@克里斯肯彭,看一看被接受的答案。这正是OP的要求。如果您有类似的问题,请以更具体的细节开始您自己的问题。@Sam-谢谢您的帮助。老实说,我不记得我是在博客上读到的,还是只是浏览了表单/View/Helper源代码。当时,很多视图助手的文档都不完整,或者被隐藏在某个人的博客文章中。因此,挖掘源代码是了解事情如何运作的最佳方式。这应该是公认的答案,因为只有这个答案才允许html用于标签的某些部分,如
'label'=>“这是我的label'
。这比公认的答案要灵活得多。
 $score->setLabelOptions(array('disable_html_escape' => true));