1

我正在编写一个 Photoshop Javascript 脚本文件。出于所有意图和目的,此脚本在运行时会多次复制特定文本层。如果原始文本层包含撇号,则复制的实例将撇号替换为方形块。所以“It's”变成了“It[]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"

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

谢谢。

4

2 回答 2

0

我猜你想要

newTitleLayer = titleLayer.replace(/'/g, "\\'");
//                                 ^^^^   ^
//    regex to match *all* apostrohpes     escape the backslash
于 2013-03-26T16:08:03.463 回答
0

最终为我工作的是:

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

谢谢您的帮助。

于 2013-03-26T17:13:25.627 回答