2010-09-28 90 views
0

我有一個文本框,當用戶進入"象徵。我有存儲到數據庫之前剝離該符號。請幫助。任何幫助將不勝感激如何剝離「(引號)

Django的代碼:

postDict = request.POST.copy() 
profile = quser.get_profile() 
profile.i_like= postDict['value'] 
profile=profile.save() 
+1

你的問題標籤混亂。你使用PHP或Python(Django的語言)? – BoltClock 2010-09-28 12:07:15

+0

我正在使用python django – Rajasekar 2010-09-28 12:08:40

回答

1

(Python的答案),你可以通過簡單地替換它們的字符串中(通過使用myString.replace('"', '')),或刪除引號 - 這將是一個更好的解決方案 - 存儲在數據庫中的行情很好,但只是確保他們正確地逃脫了。這是如何工作的取決於你的數據庫,但是「轉義」是一個很好的搜索關鍵字,另一個是當你使用SQL數據庫時「準備好的語句」。

1

不,你需要逃生引號,而不是剝奪他們根據你的數據庫,功能,如mysql_real_escape_sting()將做到這一點

(假設你正在使用PHP,因爲你已經標記了這個問題「PHP」)

+0

給出了PHP的答案,但他自從聲明他使用Python。儘管確切的方法會有所不同,但答案仍然很好。引號應該保留在輸入中,不要被剝離,因爲它們可以作爲輸入的一部分是非常合法的(例如,如果我的姓氏是奧布萊恩,如果你剝去撇號,我會感到不安)。 – Spudley 2010-09-28 12:14:30

+0

如果我的名字是「O'Brien」,我總是會使用正確的印刷撇號符號......:P - OP也在談論''',而不是單引號。通常剝離無效字符並不總是不好,它只是取決於情況和預期的用戶輸入 – poke 2010-09-28 12:27:55

0

爲此使用str_replace()。您可能還需要將其轉義,並將其存儲在數據庫中。

$text2 = str_replace('"', '', $text1); //removing 
$text2 = str_replace('"', '\"', $text1); //escaping 
1

你可以使用escape函數,建立到django。此函數返回給定的HTML,其中包含&符號,引號和尖括號。

例子:

In [1]: from django.utils.html import escape 

In [2]: escape('"test"') 
Out[2]: u'"test"' 
+0

這就是如果OP正在尋找HTML編碼,而不是SQL轉義。 – BoltClock 2010-09-28 12:54:47