2015-10-04 156 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);