2013-03-26 49 views
1

我在寫一個Photoshop JavaScript腳本文件。對於所有意圖和目的,此腳本在運行時會多次複製特定文本層。如果原始文本圖層包含撇號,則複製的實例會用方塊替換撇號。因此,「它」變成了「它[]的」Javascript單引號替換被忽略

下面是代碼(顯然不是括號,但見方的塊。):

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" 

我知道這必須是一個簡單的問題,我以前從未遇到過這種情況。

謝謝。

+0

爲什麼用撇號替換撇號?如果您完全忽略替換,它會正確輸出嗎? – Bergi 2013-03-26 16:06:24

+0

你是否是我們的實際樣本頁面?你能用jsfiddle重現嗎?因爲它聽起來更像是一個字符編碼錯誤。 – Kevkong 2013-03-26 16:37:11

回答

0

我猜你想

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

不幸的是,仍然給我同樣的問題,在這裏看到: http://i.imgur.com/qiQ4nnZ.png – 2013-03-26 16:18:10

0

什麼結束了對我的工作是:

persistentSetting.getData(0).replace( 「EM」, 「'」); //它實際上並不是EM,但是這是當我複製並粘貼特殊塊[]字符時,JS在編輯器中顯示的小代碼。

感謝您的幫助。