2015-05-20 7 views
0

Я пытаюсь декодировать строку , а не URL. Я попытался запустить функцию, которая работает нормально. но побег функция устарела в настоящее времяДекодировать строку не URL-адрес в Javascript

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

Теперь мне нужен результат, который задается функцией escape. Любой альтернативный для тех же

благодаря

+0

http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery try –

+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; др: Используйте первую м ethod и пропустить второй метод, если вы не хотите использовать полуэкранированные строки.

+0

@HituBansal Помог ли вам этот ответ? Если так, мне бы это понравилось, если бы вы согласились! – grill