2011-08-19 61 views
0

可能重複:
Strip HTML from Text JavaScript想刪除任何HTML標記

這裏是一個字符串

var s = "This is <strong>something</strong>." 

,我想從這個字符串中刪除任何HTML標記。

如果你的回答不是關於正則表達式,那並不重要。謝謝。

+1

你不可正則表達式的HTML。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Josh

回答

1

試試這個

s.replace(/<[^>]*?>/g, ''); 

JsFiddle DEMO

+1

這不是最好的方法。更好的希望你在你的頁面上沒有任何數學運算,並且你最好希望你的HTML不會跨越多行。

...
'內頁空格可能是一個格式化的噩夢,因此我經常跨多行跨越我的HTML元素 – vol7ron

+1

@ vol7ron - 'n <1'實際上不是合法的HTML(它應該是'n < 1'),儘管許多瀏覽器都會容忍它。 – jfriend00

0

你可以使用DOM元素(用於Firefox或textContent)的innerText屬性:

var s = 'This is <strong>something</strong>.', 
    div = document.createElement('div'); 
div.innerHTML = s; 
s = div.innerText || div.textContent; 
1

以下jQuery的樣本將幫助您

function getString(html) 
{ 
    return $("<DIV>").html(html).text(); 
}