【发布时间】:2014-10-02 11:04:07
【问题描述】:
在小型论坛中,任何用户都可以保存帖子。有时这些帖子包含用引号 ( " " ) 包围的单词。当我尝试使用 javascript 处理这些字符串时,这给了我一个错误。
我编写了一些使用 django 变量的 jquery 代码,如下所示:
new_text = "{{text|safe}}";
$("#text_p").text(new_text);
如果我将其标记为“安全”,那么 javascript 会给我一个语法错误:
the text "(error here)word between quotes" the user posted
这是合乎逻辑的,因为 javascript 理解这样的引号:
new_text = "this is the text "word between quotes" the user posted"
所以,如果我不将其标记为“安全”并让 django 转义文本,它不会给我一个错误,但文本看起来像这样:
the text "word between quotes" the user posted
我不知道该怎么做,而且我想这可能并不简单,因为如果我使用单引号声明 javascript 变量,当用户发布带有单引号的文本时,我也会遇到同样的问题。如果我使用正则表达式替换双引号而不将文本标记为“text|safe”,那么其他标签将被转义,文本将充满“
我有一个想法可能可行,但很丑陋,可能不是最佳选择:
将文本包含在 <p class = "hidden"> 标记中,然后使用 jquery 调用它。
所以,问题是,我该如何解决这个问题?有没有更好的方法? 提前感谢您的帮助。
编辑: 我创建了一个Runnable 来更好地解释它。
【问题讨论】:
标签: javascript jquery django quotes