2011-03-06 53 views
0

我有一個數據庫中的HTML,我想用facebox(jquery彈出窗口)顯示 我使用下面的PHP代碼來呈現啓動按鈕faceboxPHP和Javascript插入HTML與'和「到PHP的一個JavaScript函數

$html.="<img onclick='$.facebox(\"".$db_data[html]."\");' src='img.png' />"; 

如何正確地轉義事物,使facebox在$ db_data [html]中也能得到'和'? (?例如,如果HTML包括樣式)

回答

4

使用json_encode字符串正確地轉換爲JavaScript兼容的字符串和htmlspecialchars編碼它在HTML中使用屬性值:

"<img onclick='" . htmlspecialchars("$.facebox(".json_encode($db_data['html']).");", ENT_QUOTES) . "' src='img.png' />" 

注意使用引號樣式ENT_QUOTES也編碼'用於引用屬性值。如果您使用"代替HTML屬性值,則這不是必需的:

'<img onclick="' . htmlspecialchars("$.facebox(".json_encode($db_data['html']).");") . '" src="img.png" />' 
+0

非常感謝!就是我在找的東西 – Nir 2011-03-06 11:12:43