1

我将以下内容传递给我的 extjs 网格。如果变量中有任何引号,我该如何转义。

append rval "'description':'$description',"
append rval "'short_description':'$shortDescription',"
4

3 回答 3

1

好吧,您可以使用regsub替换所有单引号,例如

regsub -all "\'" $rval "\\\'" rval  
regsub -all "\"" $rval "\\\"" rval

第一行将在 rval 变量中的每个撇号前面放置一个反斜杠。第二行将在每个双引号前放置一个反斜杠。您也必须在 regsub 命令中转义撇号、双引号和反斜杠本身,因此 regsub 的最后一个参数中的三重反斜杠

于 2012-07-10T15:15:46.467 回答
1

string map是最简单的答案:

% string map {' \\'} aaa'bbb'ccc
aaa\'bbb\'ccc
于 2012-07-10T17:00:18.820 回答
0

您可以使用简单的 javaScript 替换方法,像这样使用它并使用以下正则表达式。

var tempvariable = yourJsonString.replace(/(')/g, "'");

将此临时变量传递给您的网格,它将正常工作。

于 2012-07-10T18:15:04.470 回答