2012-12-03 121 views
1

我使用PHP5有的在數據庫中的字段包含HTML標籤用戶編輯輸入字段。用戶應該能夠編輯這些並將它們保存爲表單的一部分。我們舉一個簡單的例子。如何允許包含HTML標籤

我有一個叫link場是來自於數據庫中,幷包含一個HTML鏈接標記,如:

$link = "<a href=\"http://www.google.com\">go to google</a>"; 

在我的HTML表單我有一個輸入框,將允許用戶編輯$鏈接內容(包括標籤) - 我使用Smarty的模板引擎,因此{$link}符號

<input name="link" id="link" value="{$link}" /> 

的問題,我現在是在第一時間鏈接區被顯示爲是,那麼用代碼和所有,但當用戶保存到數據庫中d頁面刷新時,我看到「go to google」這樣的詞語,因此標籤被刪除。仔細檢查後,這也是保存在數據庫中的內容。

如何應對這種局面,鑑於上面的簡單的例子?

+0

你試過轉義'<= <'和'> = >'? – David

回答

1

使用PHP函數htmlentities($link)來標記這些標籤。

這裏是Manual

+0

我在哪裏使用它?請提供完整的代碼。在頁面上顯示之前使用它?點擊提交表單後?謝謝。 – sarsnake

+0

當你在網頁'上顯示<輸入名稱=「鏈接」 ID =「鏈接」值=「{ヶ輛($鏈接)}」 />' – BernaMariano

+0

它會保存標籤到數據庫?我之前使用過htmlspecialchars函數,它顯示帶有標籤的文本,但在保存到數據庫時仍將其剝離。所以,在吐出$ _POST後,我看到了「go to google」和沒有標籤的字樣。並且我無法控制用戶按下提交和頁面刷新時發生的情況。 – sarsnake

相關問題