3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
嘗試此操作,注意HTML語法過于復(fù)雜,以至于正則表達(dá)式在100%的時(shí)間內(nèi)都是正確的:
var regex = /(<([^>]+)>)/ig
, body = "<p>test</p>"
, result = body.replace(regex, "");
console.log(result);
如果您愿意使用jQuery之類的庫,則可以執(zhí)行以下操作:
console.log($('<p>test</p>').text());

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
這是一個(gè)古老的問題,但是我偶然發(fā)現(xiàn)了這個(gè)問題,并以為我會(huì)分享我使用的方法:
var body = '<div id="anid">some <a href="link">text</a></div> and some more text';
var temp = document.createElement("div");
temp.innerHTML = body;
var sanitized = temp.textContent || temp.innerText;
消毒后將包含: "some text and some more text"
簡單,不需要jQuery,即使在更復(fù)雜的情況下也不應(yīng)讓您失望:)
詹姆士

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
這是TextAngular(WYSISYG編輯器)的工作方式。我還發(fā)現(xiàn)這是最一致的答案,那就是“無正則表達(dá)式”。
@license textAngular
Author : Austin Anderson
License : 2013 MIT
Version 1.5.16
// turn html into pure text that shows visiblity
function stripHtmlToText(html)
{
var tmp = document.createElement("DIV");
tmp.innerHTML = html;
var res = tmp.textContent || tmp.innerText || '';
res.replace('\u200B', ''); // zero width space
res = res.trim();
return res;
}
添加回答
舉報(bào)