有一段html文本,只想去掉class 和 id属性,但要保留原结构和其他正常属性,就是如下例子<div class="content">
<div id="t1">
文本1
</div>
<p class="bbb">
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div>希望最终结果为<div>
<div>
文本1
</div>
<p>
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div>jsp 里面的replaceAll()怎么写?或者用正则怎么处理,谢谢
<div id="t1">
文本1
</div>
<p class="bbb">
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div>希望最终结果为<div>
<div>
文本1
</div>
<p>
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div>jsp 里面的replaceAll()怎么写?或者用正则怎么处理,谢谢
String newcontent = oldcontent.replaceAll("\\s*(?:class|id)=\"[^\"]+\"","");
$("div").removeAttr("class");
如果在jsp里写的话,就直接用js啊。
public class TestP {
public static void main(String[] args){
String regex="(?im)(?<=[<](div)|p)([^<>]*?)((id=\"[\\w]*\")|(class=\"[\\w]*\"))(?=[^<>]*?>)";
String s="<div class=\"content\">\n"+
"<div txt=\"65\" class=\"22\" id=\"t1\" c=\"dd\">\n"+
"文本1\n"+
"</div>\n"+
"<p id=\"33\" class=\"bbb\">\n"+
"文本2.....<font color='#00000'>文本3</font><span style=\"line-height:24px;\">文本4</span>\n"+
"</p>\n"+
"</div>\n";
System.out.println(s);
s=s.replaceAll(regex,"$2");
s=s.replaceAll(regex,"$2"); System.out.println(s);
}
}执行两次就OK了
<div txt="65" class="22" id="t1" c="dd">
文本1
</div>
<p id="33" class="bbb">
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div><div >
<div txt="65" c="dd">
文本1
</div>
<p >
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div>