我正在創建一個WYSIWYG編輯器,通過AJAX保存頁面。AJAX處理不當輸入
它的工作原理是通過編輯器將元素(文本,圖像等)添加到DIV,當您單擊「保存」時,它通過AJAX將該DIV的HTML發送到採用此HTML的腳本並寫入它到「index.html」,所以它會更新頭版。
我的問題:如果DIV有一個背景圖像,AJAX頁面擰緊。我所猜測的是所有引號(<div style="background-url('picture.png');">
)。它處理一切正常(圖像,帶有單引號和雙引號的文本等)。
我正在瀏覽Firebug,它報告說它正在將'picture.png'
更改爲"picture.png"
。我已經嘗試在發送之前替換"
,但它仍然在所有引號的另一端。
有沒有人有任何想法?
這是PHP。如果我檢查Firebug的輸出,它告訴我它周圍發送了"。如果我檢查另一端(PHP AJAX接收端)的輸入,它會給我$ _POST數組中的破壞代碼。 – Jordan 2010-10-14 01:51:48
您是否嘗試用反斜槓轉義引號? \或者,對實體進行硬編碼......這裏有些可能有所幫助:http://htmlhelp.com/tools/validator/problems.html – Ben 2010-10-14 02:49:40
我不知道爲什麼我從來沒有想到過。這絕對是"中的&符號。我早些時候嘗試過,但我不小心忘記了將它們全部替換而不是第一個。傻我! :)謝謝,史蒂夫。對於有類似問題的其他人,運行JS函數替換(/ "/g,「\'」)到您的字符串以將所有「"」替換爲「\」。 – Jordan 2010-10-14 04:15:01