我将以下内容传递给我的 extjs 网格。如果变量中有任何引号,我该如何转义。
append rval "'description':'$description',"
append rval "'short_description':'$shortDescription',"
好吧,您可以使用regsub替换所有单引号,例如
regsub -all "\'" $rval "\\\'" rval
regsub -all "\"" $rval "\\\"" rval
第一行将在 rval 变量中的每个撇号前面放置一个反斜杠。第二行将在每个双引号前放置一个反斜杠。您也必须在 regsub 命令中转义撇号、双引号和反斜杠本身,因此 regsub 的最后一个参数中的三重反斜杠
string map
是最简单的答案:
% string map {' \\'} aaa'bbb'ccc
aaa\'bbb\'ccc
您可以使用简单的 javaScript 替换方法,像这样使用它并使用以下正则表达式。
var tempvariable = yourJsonString.replace(/(')/g, "'");
将此临时变量传递给您的网格,它将正常工作。