2011-08-08 10 views
0

私はこの問題をほぼ解決しましたが、VLC httpインターフェイスの上にリモートを構築していて、&シンボルのエンコーディングに問題があります。vlc httpインターフェイスファイルのパスエンコーディング

は、例えば、私は

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

のようなファイル名を取得します。しかし、私は+ URLエンコードを脱出する際、ファイル名は、私はこの問題を解決するにはどうすればいい

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

であるVLCが得る何?

私の疑似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, "\\\\")); 

最後の関数は次のように見てしまいました。

関連する問題