正则表达式解析HTML标记并获取内容

时间:2015-10-04 08:22:16

标签: javascript regex

我有一个字符串,让我们说它就像下面一样:

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

现在,我必须使用 myClass 类名称解析div并替换一些文本(例如,将文字。替换为内容。

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

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:4)

不要使用正则表达式。

&#13;
&#13;
// 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);
&#13;
&#13;
&#13;