CakePHP:如何使用表单助手在按钮标题中使用HTML实体
我想用复选标记作为按钮的文本。我想要的实体是CakePHP:如何使用表单助手在按钮标题中使用HTML实体,cakephp,html-entities,Cakephp,Html Entities,我想用复选标记作为按钮的文本。我想要的实体是✓但是当我使用Form Helper将其作为按钮的文本输入时,它总是将前导的符号和转换为&以便文本显示但不显示实体 下面是我创建按钮的方式: echo $this->Form->button( '✓', array( 'type' => 'submit', 'id' => $checklistItem['ChecklistItem']['
✓
但是当我使用Form Helper将其作为按钮的文本输入时,它总是将前导的符号和转换为&代码>以便文本显示但不显示实体
下面是我创建按钮的方式:
echo $this->Form->button(
'✓',
array(
'type' => 'submit',
'id' => $checklistItem['ChecklistItem']['id'],
'escape' => 'false'
)
);
echo $this->Form->button(
'✓',
array(
'type' => 'submit',
'id' => $checklistItem['ChecklistItem']['id'],
),
array('escape' => 'false')
);
生成的HTML如下所示:
&#x2713代码>
这显然不会呈现实体
我通过设置“escape”=>“true”尝试了它,但这根本没有效果
有什么想法吗?您不需要将其转义为false,默认情况下,它转义为false
echo $this->Form->button('✓',
array(
'type' => 'submit',
'id' => $checklistItem['ChecklistItem']['id']
)
);
您需要将escape移动到按钮的第三个元素:
echo $this->Form->button(
'✓',
array(
'type' => 'submit',
'id' => $checklistItem['ChecklistItem']['id'],
'escape' => 'false'
)
);
echo $this->Form->button(
'✓',
array(
'type' => 'submit',
'id' => $checklistItem['ChecklistItem']['id'],
),
array('escape' => 'false')
);
而且,这个问题已经得到了回答。我想你遗漏了什么。您的按钮与OP中的按钮一模一样。:/i我不明白您想说什么。你的答案与问题中的代码完全一样,只是因为你删除了所有的换行符,所以更难阅读。我的答案与问题不完全一样,如果你执行我的代码,那么你会看到它是一个解决方案,显示勾号,这是提问者所要求的。就换行符而言,我已经重新格式化了代码。@iopener,您使用的是'escape'=>'false'
,而它应该是'escape'=>false
。按钮函数只能有两个参数,请检查此处。但是您在这里传递了三个参数。是的,表单参数与html参数不同。这是我第一次检查的东西之一。你用的是什么版本的蛋糕。此代码在v2.3.0稳定版中工作。使用版本2.2.0。根据上面的评论,=>'false'语法也不起作用。你是说这个参数是在2.3.0中添加的,它也会将'false'解析为布尔值false吗?永远不要将true/false用作字符串('true'/'false')。唯一其他有效的表示形式是0/1。您可以通过这种方式将false的布尔状态完全反转为true。。。