我有通過基本HTML編輯器輸入的用戶內容。我需要驗證這些內容並將其安全地插入到MySQL數據庫中而不更改其格式。在保留有效的HTML結構的同時爲HTML轉義HTML
說我的用戶內容是:
$usercontent = "<p>This is my content</p>";
如果我使用:
mysql_real_escape_string($usercontent);
我得到這個插入到數據庫:
%3Cp%3EThis+is+my+content%3C%2Fp%3E
但我想文字HTML插入相反:
<p>This is my content</p>
有沒有簡單的方法可以將mysql_real_escape_string
修改過的內容轉換回普通的HTML?
我應該讓它知道我正在修改一個已經寫好的web應用程序,而且我沒有被重寫整個東西 - 這是我正在做的一個快速調試。因此,我確實需要這樣做 - 我確實需要將正常的HTML存儲在數據庫中,只是確保在這樣做之前我已經驗證了最好的結果。這也排除了整個實施PDO的應用程序作爲一個選項。
我已經做了一些挖掘工作,我找不到這個問題的答案...至少沒有明確地...並且這個問題上的任何事情似乎都被包含在講座中。假設我已經閱讀過這些講座,那麼這個問題有一個簡單的答案嗎?
編輯
原來我奇怪的編碼是在別的地方發生的事情,並沒有因mysql_real_escape_string
造成的。這使得我的問題對我的情況非常獨特,對任何人都沒有太大的幫助。然而,urldecode
確實解決了我的問題。
不是一個選項,@Drew - 這將需要相當大的重寫。但是,謝謝。 – Doug
再一次,@CharlotteDunois,這不是一個選項,因爲它將啓動應用程序的重要重建。謝謝,不過。 – Doug