2011-08-08 72 views
0

我幾乎有這個問題修復,但我正在VLC http接口上建立一個遠程,並且在編碼&符號時遇到問題。vlc http接口文件路徑編碼

比如我得到看起來像

C:\Users\Me\Music\Library\I Need a Doctor feat(Eminem & Skylar Grey) 

文件名,但是VLC被當我逃離+ URL編碼的文件名是

C:\Users\Me\Music\Library\I Need a Doctor feat(Eminem 

我該怎麼做才能解決這個問題?

我僞的JavaScript:

function escapePath(string){ 
    var fixed = ""; 
for(var i = 0; i < string.length; i++){ 
    if(string[i] == "\\"){ 
     fixed += "\\\\"; 
    } 
    else if(string[i] == "&"){ 
     fixed += "%26"; // Doesn't work with or without this 
    } 
    else{ 
     fixed += string[i]; 
    } 
} 
    return encodeURIComponent(fixed); 
} 

我知道這是不好的,但我不能讓.replace()正常工作。詛咒我對正則表達式的恐懼。我會在稍後修復

+1

試試這個:http://phpjs.org/functions/rawurlencode:501 –

回答

0

感謝Marc B.它在一些調整中起了作用。

最終的功能最終看起來像:

return encodeURIComponent(str.replace(/!/g, '%21').replace(/'/g, '%27').replace(/\*/g, '%2A').replace(/\\/g, "\\\\")); 

我只希望我知道爲什麼這個工程。