function HTMLDecode(text) { var temp = document.createElement("div"); temp.innerHTML = text; var output = temp.innerText || temp.textContent; temp = null; return output; } var tagText = "<p><b>123&456</b></p>"; var encodeText = HTMLEncode(tagText);
注:火狐不支持innerText,須要使用 textContent 屬性,而IE早期版本不支持此屬性,爲了同時兼容IE及火狐,須要進行判斷操做.html
由於innerText(textContent)會獲取純文本內容,忽略html節點標籤,而innerHTML會顯示標籤內容,因此咱們先將需轉義的內容賦值給innerText(textContent),再獲取它的innerHTML屬性,這時獲取到的就是轉義後文本內容。 code
同理,反轉義的方法爲先將轉義文本賦值給innerHTML,而後經過innerText(textContent)獲取轉義前的文本內容htm
function HTMLDecode(text) { var temp = document.createElement("div"); temp.innerHTML = text; var output = temp.innerText || temp.textContent; temp = null; return output; } var tagText = "<p><b>123&456</b></p>"; var encodeText = HTMLEncode(tagText); console.log(encodeText);//<p><b>123&456</b></p> console.log(HTMLDecode(encodeText)); //<p><b>123&456</b></p>