2010-05-13 659 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>