2015-10-04 112 views
-1

我有一个字符串,让我们说这是象下面这样:正则表达式解析HTML标签,并获取内容

<div class="myClass"> 
    Some Text. 
</div> 
<div class="otherClass"> 
    Some Text. 
</div> 

现在,我要解析的股利与myClass的类名和替换一些文字(比如,与内容替换文本。

如何我正则表达式实现这一目标?我可以替换所有div的内容,但我需要替换该特定div的内容。

任何帮助将不胜感激。

+5

[供参考](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 ) – javanut13

回答

4

请勿使用正则表达式。

// Parse the HTML using the DOM (a temporary element 
 
// in this case, which won't be added to the body) 
 
var tempElement = document.createElement("div"); 
 
tempElement.innerHTML = 
 
    '<div class="myClass">\ 
 
     Some Text.\ 
 
    </div> \ 
 
    <div class="otherClass">\ 
 
     Some Text.\ 
 
    </div>'; 
 

 
// Store elements with the same class in an array 
 
// since classes are meant to be re-usable 
 
var elements = []; 
 
for (var i = 0, l = tempElement.children.length; i < l; i++){ 
 
    var el = tempElement.children[i]; 
 
    if (el.className === 'myClass') 
 
    elements.push(el); 
 
} 
 

 
// Run a replace on the contents of each element 
 
// in the array 
 
for (var i = 0, l = elements.length; i < l; i++){ 
 
    var el = elements[i]; 
 
    el.innerHTML = el.innerHTML.replace('Text', 'Content'); 
 
} 
 

 
// Output result 
 
document.write(tempElement.innerHTML);