2012-10-03 40 views
3

我正在使用CKEditor將文本插入到MySQL數據庫中。我注意到,當數據到達數據庫時,我安裝的CKEditor正在轉義所有的HTML元素。CKEditor正在轉義html元素

因此,以下是我在數據庫中我得到我已經插入CKEditor的文本後:

'&' (ampersand) becomes '&' 

'"' (double quote) becomes '" 

"'" (single quote) becomes '' 

'<' (less than) becomes '&lt;' 

'>' (greater than) becomes '&gt;' 

我寧願禁用CKEditor的HTML完全逃脫,並依賴於我的PHP腳本來處理HTML轉義使用PHP的htmlspecialchars

我禁用CKEditor的HTML轉義功能的另一個好的理由是我想保留MySQL數據庫中的書面內容。換句話說,我想在數據庫中保留單引號和雙引號,然後我希望PHP在使用MySQL select語句將數據庫數據打印到頁面時用htmlspecialchars清理HTML元素。

任何人都可以告訴我如何禁用CKeditor中的html轉義?您的意見或任何建議上述將不勝感激。

+0

使用PHP-PDO在你的MySQL而不是使該將其插入到你的數據庫之前逃脫HTML charaters程序... 。http://php.net/manual/en/book.pdo.php –

回答

9
+5

好的......謝謝你的輸入。問題已經解決了。所有我需要做的是編輯CKEditor的配置文件,並在下面的代碼粘貼: CKEDITOR.editorConfig =功能(配置) { \t config.resize_enabled = FALSE; \t config.entities_latin = false; \t config.entities_greek = false; \t config.entities = false; \t config.basicEntities = false; }; CKEditor在線文檔具有誤導性,因爲它會告訴您編輯_source/plugins/entities/plugin.js。 Ifound你只需要編輯config.js文件,不要做任何事情! – user1710099

+1

@ user1710099它仍然不起作用,我在''內部''&' –