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

最終的に私のために働いたのは次のとおりです。

persistSetting.getData(0).replace("EM", "'"); // これは実際には EM ではありませんが、特別なブロック [] 文字をコピーして貼り付けたときに JS がエディターに表示する小さなコードです。

助けてくれてありがとう。

于 2013-03-26T17:13:25.627 に答える
0

私はあなたが欲しいと思います

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