Javascript单引号替换被忽略

时间:2013-03-26 15:55:12

标签: javascript photoshop quote photoshop-script

我正在写一个Photoshop Javascript脚本文件。出于所有意图和目的,此脚本在运行时会多次复制特定文本图层。如果原始文本层包含撇号,则复制的实例用方块替换撇号。所以“它”变成“它[] s”(显然不是括号,而是方块。)

以下是代码:

titleLayer = al.textItem.contents;

newTitleLayer = titleLayer.replace("'", "\'");
alert(newTitleLayer); // At this point, this works:  "It's"

persistentSetting.putData(0,newTitleLayer);
app.putCustomOptions("text_contents4",persistentSetting,true);

alert(persistentSetting.getData(0)); // At this point, it does not.  It shows the square. "It[]s"

我知道这必须是一个简单的问题,我以前从未遇到过这个问题。

感谢。

2 个答案:

答案 0 :(得分:0)

我猜你想要

newTitleLayer = titleLayer.replace(/'/g, "\\'");
//                                 ^^^^   ^
//    regex to match *all* apostrohpes     escape the backslash

答案 1 :(得分:0)

最终为我工作的是:

persistentSetting.getData(0).replace(“EM”,“'”); //它实际上不是EM,但是当我复制并粘贴特殊的block []字符时,这就是JS在编辑器中显示的小代码。

感谢您的帮助。