3

我想使用复选标记作为按钮的文本。我想要的实体是✓,但是当我使用表单助手将它作为按钮的文本放入时,它总是将前导&符号转换为&,以便文本显示而不是实体。

这是我创建按钮的方式:

echo $this->Form->button(
    '✓', 
    array(
        'type' => 'submit', 
        'id' => $checklistItem['ChecklistItem']['id'], 
        'escape' => 'false'
    )
);

生成的 HTML 如下所示:

<button type="submit" id="1">&amp;#x2713;</button>

这显然不会呈现实体。

我已经通过设置进行了尝试,'escape' => 'true'但这根本没有效果。

有任何想法吗?

4

2 回答 2

2

您不需要将其转义为 false,默认情况下将其转义为 false。

  echo $this->Form->button('&#x2713;',  
          array(
               'type' => 'submit', 
               'id' => $checklistItem['ChecklistItem']['id']
           )
  );
于 2013-02-01T06:12:59.183 回答
0

您需要将转义移动到按钮的第三个元素:

echo $this->Form->button(
    '&#x2713;', 
    array(
        'type' => 'submit',
        'id' => $checklistItem['ChecklistItem']['id'], 
    ),
    array('escape' => 'false')
);

此外,这已经在这里得到了回答。

于 2013-02-01T06:14:06.477 回答