Javascript正则表达式替换HTML FONT标签

时间:2011-11-04 15:41:47

标签: javascript

我有一个像<FONT id="test" face="Arial"><SPAN><P>This is some content...</P></SPAN></FONT>这样的html字符串。现在使用javascript正则表达式我想删除带有id test的字体标记和带有相关结束标记的span标记。

这样输出变为<P>This is some content...</P>。如何做到这一点?

2 个答案:

答案 0 :(得分:1)

人们普遍认为使用Regex解析HTML是一个坏主意。我建议您使用jQuery将其解析为DOM元素,然后对其进行操作。

var content = $('<FONT id="test" face="Arial"><SPAN><P>This is some content...</P></SPAN></FONT>').find('span').children();

或使用(但我不推荐)DOM api本身:

var str = '<FONT id="test" face="Arial"><SPAN><P>This is some content...</P></SPAN></FONT>';
var div = document.createElement('div');
div.innerHTML = str;
var newStr = div.getElementsByTagName('span')[0].innerHTML;
console.log(newStr);

http://jsfiddle.net/hhRYX/

答案 1 :(得分:0)

你可以试试这个 - &gt; http://jsfiddle.net/manseuk/hAPzQ/

脚本:

var testdom = document.getElementById('test');
var replacedom = testdom.childNodes[0].childNodes[0];
testdom.parentNode.replaceChild(replacedom,testdom);

.replaceChild()是跨浏览器的 - &gt; http://www.quirksmode.org/dom/w3c_core.html#nodemanipulation