如果你要使用祖阿曼的回答,請記住,通過設置'escape' => false
要禁用默認的安全功能。所以,你可能想確保,那麼你使用h()
方法逃避任何用戶輸入: -
$this->Html->link(
$this->Html->div('list_content',
$this->Html->para('title', h($note['Note']['title'])).
$this->Html->para('create_at', h($note['Note']['create_at'])).
$this->Html->para(null, substr(h($note['Note']['content']), 0,100) . '...')
),
'#',
['escape' => false]
);
如果你有很多的標記,你希望你的<a>
標籤內,有時更容易使用$this->Html->url()
代替(並可能導致更可讀的代碼): -
<a href="<?= $this->Html->url('#') ?>">
<div class="list_content">
<p class="title"><?php echo $note['Note']['title']; ?></p>
<p class="create_at"><?php echo $note['Note']['create_at'] ?></p>
<p> <?php echo substr($note['Note']['content'], 0,100) . '...' ?></p>
</div>
</a>
唯一真正的缺點我知道這樣做第二個例子是,你失去了,你可以添加到任何$this->Html->link()
功能,但我懷疑這是不是一個關注廣大用戶。
如果你禁用了'escape',你應該記得使用'h()'來逃避任何用戶輸入。爲了安全起見,Cake默認故意轉義鏈接文本,因此禁用此操作需要謹慎操作。 – drmonkeyninja
非常感謝,但我使用CKEditor添加內容注意。當內容有標籤 ... 時,它不會位於$ this-> Html-> link('...')。 –
如何在$ this-> Html-> link('...')中添加標記 –