2010-09-28 88 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