js反轉義html轉義字符

在前端生涯當中,可能都會遇到有富文本編輯器狀況javascript

可是某些富文本編輯器是基於不少UI框架的,每一個UI框架處理富文本編輯器的方式不同,就有可能出現各類奇葩狀況
好比我今天遇到的狀況html

數據庫存儲的數據不是
 前端

<div>111<span>222</span></div>

而是
 java

&lt;div&gt;111&lt;span&gt;222&lt;/span&gt;&lt;/div&gt;

這樣形成了獲取數據以後輸出到頁面會顯示出html標籤,就算使用jq的html()方法也是沒用的,由於獲取的數據本就不是html標籤,而是html轉義字符數據庫

我在網上查了不少方法,都是很是麻煩的反轉義,代碼不少,並且須要各類配置,如今這個方法能夠通用任何狀況,很是簡單
先聲明一個變量,該變量存儲從數據庫獲取到的轉義字符串數據
 框架

var text = '&lt;div&gt;111&lt;span&gt;222&lt;/span&gt;&lt;/div&gt;'

而後再聲明一個變量,改變量存儲一個代碼生成的標籤,這裏通用div標籤吧
 dom

var dom = document.createElement('div');

而後見證奇蹟的時刻到了編輯器

dom.innerHTML = text;
text = dom.innerText || dom.textContent;
dom = null;
console.log(text);// <div>111<span>222</span></div>

原理就不說了,我的理解吧spa

相關文章
相關標籤/搜索