昨天,好端端的網站突然上傳圖片無法顯示,並且無法居中,後台採用的是ckeditor。然後進入了沉思,起初以為是編輯器的問題,更換編輯器試驗,還是同樣的問題,顯然排除了編輯器的問題。那是什麼問題呢?
從編輯器的輸入內容的源碼分析,內容是含有引號和HTML標籤的,但是提交的時候ckeditor會把預定義的字符如"
透過查詢資料庫結果得知,內容中的引號被替換掉了,成為空白,然而被出來的資料放到編輯器中還是能解釋,但是樣式卻一塌糊塗,並且還被添加了一些其他標籤。正是這些導致了前台樣式錯亂,導致上傳圖片無法顯示和居中的問題。
找出原因了,接下來就是想法解決了。
此時我想到了php設定檔中的如果magic_quotes_gpc參數。果不其然,此參數處於Off關閉狀態。開啟時,透過GET,POST,COOKIE傳遞的資料會自動被轉義。
如果magic_quotes_gpc=Off; 那麼字元中要帶有引號(不管單引號還是雙引號) ,直接寫入mysql都會直接變成空白。
顯然是這個問題導致,於是開啟此參數magic_quotes_gpc=On。插入資料庫的資料顯示正常了,引號被替換為(反斜線)。
取資料的時候使用$contents = preg_replace("/\\/",'"',$contents);進行替換一下,當如編輯器中即可正常顯示。
至此問題解決。關於入庫資料轉義參數的使用後面再特別作文總結。
以上就介紹了Ckeditor編輯器上傳圖片無法居中以及樣式錯亂的問題解決,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。