Re: [請益] FCKEditor寫入資料時如果帶有單引號時

看板PHP作者 (O⊥M)時間19年前 (2007/02/01 16:58), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《Graphy (Graphy)》之銘言: : FCKEditor單引號的問題 : FckEditor在寫入資料時 : 如文字欄位裡遇到有單引號『'』時 : 就會變成『'\』 : 這要怎麼解決呢? : 我搜尋了google : 好像很多人遇到同樣的麻煩 : 但一直找不到解決方案 : 快瘋了 因為引號對資料庫有特殊意義,所以寫入時需要將其脫序。 而自資料庫讀出後,則須經反脫序的方式還原內容。 有兩種方式: (1). 用 addslashes - stripslashes (2). 或用 base64_encode - base64_decode 我喜歡用第二種,使用方法如下: function encodeHtml($html) { // 將 html 壓縮後轉成安全字串 return base64_encode(gzdeflate($html)); // return base64_encode($html); // 也可以不選擇 gzdeflate } function decodeHtml($encoded_html) { // 將編碼過的 html 還原;怎麼編碼、就照著相反的程序解碼 return gzinflate(base64_decode($encoded_html)); // return base64_decode($encoded_html); //也可以不選擇 gzinflate } // gzdeflate 和 gzinflate 分別是壓縮成 gz 和解壓縮 gz 的函式 PS 1: 再將 html 內容存入資料庫時,先以 encodeHtml 處理; 而自資料庫讀出該內容時,則以 decodeHtml 還原... PS 2: base64_encode() returns data encoded with base64. This encoding is designed to make binary data survive transport through transport layers that are not 8-bit clean, such as mail bodies. -- 「640K ought to be enough for anybody.!」 - Bill Gates - -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.199.121

08/25 17:24, , 1F
n文阿好文~
08/25 17:24, 1F
文章代碼(AID): #15mQkOta (PHP)
文章代碼(AID): #15mQkOta (PHP)