2010-05-13 165 views
3

我有一個div標籤,嵌套在許多span和div標籤中。正則表達式去除Div標籤

現在我想要一個JavaScript中的正則表達式,它將剝離div標籤並獲取其中的內容。

+1

待辦事項你真的需要處理字符串,或者你可以使用DOM嗎?你能舉個例子嗎? – Gumbo 2010-05-13 12:05:21

+1

你應該使用一個html解析器,而不是正則表達式....參見http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 in javascript你應該能夠使用DOM訪問器函數.. – 2010-05-13 12:05:27

回答

2

正則表達式無法處理嵌套,至少JavaScript正則表達式不能處理(以及那些可以像.NET和PCRE那樣處理不好的東西)。

如果只有一個最<div>標籤這才能奏效 - 然後正則表達式

/<div>.*<\/div>/s` 

將您的文件中匹配一切從最初的<div>到最後</div>

6

您想從文檔中刪除<div>元素嗎?第一件事是第一件事;學習DOM!

var aReferenceToMyDiv = document.getElementById('foo'); 
aReferenceToMyDiv.parentNode.removeChild(aReferenceToMyDiv); 

...當應用於以下DOM結構將刪除<div>元素:

<div id="foo"> 
    <span>...</span> 
    other stuff... 
</div>