echo $this->Html->link(
'<span class="glyphicon glyphicon-remove"></span> Cancel',
array(
'action'=>'index',
'page:'.$this->request->data['Transaction']['page']
),
array(
'class'=>'btn btn-default',
'escape'=>false
),
'Do you want to cancel ?'
);
答案 0 :(得分:0)
$title
中的HTML特殊字符将转换为HTML实体。要禁用此转换,我们在$options
数组中将escape选项设置为false:
$this->Html->link($title, $url, $options);
阅读:Manual
答案 1 :(得分:0)
因为您的标签是HTML而不是纯文本。
您不希望插入文字<span class="glyphicon glyphicon-remove"></span>
文字,您希望HTML标记显示图标。
// lib/Cake/View/Helper/HtmlHelper.php
if (isset($options['escapeTitle'])) {
$escapeTitle = $options['escapeTitle'];
unset($options['escapeTitle']);
} elseif (isset($options['escape'])) {
$escapeTitle = $options['escape'];
}
if ($escapeTitle === true) {
$title = h($title);
} elseif (is_string($escapeTitle)) {
$title = htmlentities($title, ENT_QUOTES, $escapeTitle);
}
答案 2 :(得分:0)
默认情况下,所有HTML字符都将在视图上进行转义,就像在其上使用htmlentities()
一样,因此,CakePHP助手(在本例中为$this->Html->link()
)创建的所有元素都需要param 'escape' => false
以避免转换,无论是尝试在标签中使用嵌套标签还是嵌套HTML。