使用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, "'"); }
小提琴