2015-05-20 30 views
0

我想解碼一個字符串,而不是URL。我試過了逃生功能,它工作正常。但逃生功能現在已經過時在Javascript中解碼一個字符串不是url

var a = "mysap'fff'"; //it could be any string 

var usingEscape = escape(a); 
alert(usingEscape); 

的結果是:的mySAP%27fff%27這是很好的

var usingEncodeUri = encodeURI(a); 
alert(usingEncodeUri); 

結果是:mysap'fff

var usingEncodingUriComponemt = encodeURIComponent(a); 
alert(usingEncodingUriComponemt); 

結果是:mysap'fff

現在我需要通過轉義函數給出的結果。任何候補相同

感謝

+0

http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery試試這個 –

+0

轉義仍然適用於我 –

+1

爲什麼你需要轉義單引號?這些在URL中都很好。 – Thilo

回答

2

你總是可以建立自己的逃生功能,一拉爲:

function escapeHTML(html) { 
    return html 
     .replace(/&/g, "&") 
     .replace(/</g, "&lt;") 
     .replace(/>/g, "&gt;") 
     .replace(/"/g, "&quot;") 
     .replace(/'/g, "&#039;"); 
} 

還有一個 可怕 jQuery的方法,雖然它可能不交叉瀏覽器的安全的,不會逃避引號或雙引號(這使得它有點沒用的,說實話):

var html = [INSERT SOME HTML HERE]; 
var escapedHTML = $("div.[SOME DIV]").text(html).html(); 

TL;博士:使用前m ethod並跳過第二種方法,除非你想要半逃逸的字符串。

+0

@HituBansal這個答案對您有幫助嗎?如果是這樣,我會喜歡它,如果你能接受! – grill

相關問題