我下面舉個例子一個什麼樣的用戶可以鍵入到字段後的名字:因爲這是一個文章標題我從文章標題,而在CakePHP中
<h1><span>They're awesome people</span></h1>
現在希望在將其保存到數據庫之前完全刪除所有HTML。這是因爲a)安全原因和b)如果我將其導出爲JSON,我不想爲第三方用戶清除HTML輸出。
我試圖在我的模型如下:
public function beforeSave() {
if (isset($this->data[$this->alias]['title']))
{
//$this->data[$this->alias]['title'] = Sanitize::clean($this->data[$this->alias]['title'], array('encode'=>true,'remove_html'=>true));
$this->data[$this->alias]['title'] = html_entity_decode(Sanitize::html($this->data[$this->alias]['title'], array('remove'=>true)));
}
return true;
}
正如你可以看到我已經試過既乾淨又HTML從消毒類清理掉HTML,但都可以導致一個問題,即他們逃脫引自they're
使其像'
。我曾嘗試在清潔過程中使用html_entity_decode
來清理它,但仍然發生。任何想法如何做到這一點?
如果我這樣做,雖然:
echo html_entity_decode('They're awesome people');
它工作正常,所以功能是好的,它與同在CakePHP中的類的sanitize結合使用它的問題。
謝謝
strip_tags會訣竅!但爲什麼CakePHP版本屠殺你的HTML? – Cameron 2012-03-31 11:47:36
更新的答案請檢查 – 2012-03-31 11:55:14
感謝您的解釋;) – Cameron 2012-03-31 12:01:56