使用JS-jQuery,我怎样才能使用unescape html并将`quotes&`放回字符串中?

基本上我想在我使用之后撤消我在下面找到的escapeHTML()函数。

function escapeHtml(unsafe) { return unsafe .replace(/&/g, "&") .replace(//g, ">") .replace(/"/g, """) .replace(/'/g, "'"); } function unescapeHtml(safe) { return safe .replace("&", /&/g) .replace("<", //g) .replace(""", /"/g) .replace("'", /'/g); } var a = escapeHtml("
yo & yo squirrl's
"); var b = unescapeHtml(a); console.log(a); console.log(b);//should log "
yo & yo squirrl's
"

我尝试了明显但没有交易。 http://jsfiddle.net/ej6bX/

你需要使用

 function unescapeHtml(safe) { return safe.replace(/&/g, '&') .replace(/</g, '<') .replace(/>/g, '>') .replace(/"/g, '"') .replace(/'/g, "'"); } 

使用jQuery的更清晰的方法可能是

 function escapeHtml(unsafe) { return $('
').text(unsafe).html() } function unescapeHtml(safe) { return $('
').html(safe).text(); }

演示: 小提琴

replace()的第二个参数应该是字符串而不是正则表达式

 function unescapeHtml(safe) { return safe .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, "\"") .replace(/'/g, "'"); } 

小提琴