在Javascript变量中逃避行情的通用方法

时间:2011-08-26 16:06:31

标签: javascript jquery escaping quotes

我有一个表单,用户可以在其中输入任何HTML。

var title = "Cool <a href="http://google.com">Check This</a>"

如您所见,变量有"但它也可以是'。如果存在",则会导致错误。有什么更好的解决方法?如下所示在数据库中存储转义字符串?

$title = str_replace('"', "'", $_REQUEST['title']); // Replace double quote with single quote as js variable above is wrapped with double quotes.

或者在页面上显示之前将其转义?像jQuery这样的任何东西都可以帮助到这里吗?

1 个答案:

答案 0 :(得分:2)

var title="Cool <a href=\"http://google.com\">Check This</a>"

好吧,你无法使用JavaScript来逃避它,因为JavaScript需要看到你想要逃脱的东西而你想逃避它。如果您使用PHP,则可以在插入JavaScript之前使用addslashes()

无论如何,您应该小心允许插入任何HTML。错误转义的HTML(如允许插入<script>)可以允许执行各种危险的操作,例如窃取所有Cookie。