java 移除html标签的属性 20

有一段html文本,只想去掉class和style属性,但要保留原结构和其他正常属性,就是如下例子<divclass="content"><divid="t1">文本1<... 有一段html文本,只想去掉class 和 style属性,但要保留原结构和其他正常属性,就是如下例子

<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>

用java写的话要怎么处理,谢谢
好了,谢谢大家啦,我自己去学习了下正则表达式自己解决了问题。
public static String delHTMLTag(String htmlStr) {
String regEx_style = "(class|style)=\"[A-Za-z0-9]*[^%:&’,;=?$x22]+[A-Za-z0-9]*\""; // 定义style、class的正则表达式

Pattern p_style = Pattern
.compile(regEx_style);
Matcher m_style = p_style.matcher(htmlStr);
System.out.println(m_style);
htmlStr = m_style.replaceAll(""); // 过滤style、class属性

return htmlStr; // 返回文本字符串
}
展开
 我来答
godcomexxx
2012-11-23 · TA获得超过1205个赞
知道小有建树答主
回答量:651
采纳率:0%
帮助的人:578万
展开全部
针对于你提的问题,如果想去掉class和style属性必须对所需要去掉属性的标签增加id
以你提供的代码为例,首先需要增加id属性,修改后如下:
<div class="content" id=“testdiv”>
<div id="t1">
文本1
</div>
<p class="bbb" id=“testp”>
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div>

然后编写对应js代码,代码如下:
function delClass(){
$("#testdiv").removeClass("content");
$("#testp").removeClass("bbb");
}
上述代码可以去除Class
注:
如果程序为进入页面后调用则需要在body中增加onload方法也就是:onload="delClass();"
如果为点击式触发则在页面增加按钮,对按钮总方法onClick方法指定删除的js方法

希望回答对你有用。
追问
要用java,因为我项目要用java来大量删除那些属性
追答
java包括很多东西,不清楚是什么,什么类型的工程,说的清楚一些,会更好的帮助到你,最好是贴出写你说的java的代码。这样一起分析分析,会更好
霸天无义
2012-11-26 · TA获得超过3695个赞
知道大有可为答主
回答量:1439
采纳率:50%
帮助的人:1274万
展开全部
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* 使用正则表达式
*
*/
public class patternTest {
public static void main(String[] args) throws IOException {
Pattern patternClass = Pattern.compile(" (class|style)=\".*\"");
Reader buff = new FileReader("c:\\html.txt");
FileWriter write = new FileWriter("c:\\target.txt");
BufferedReader in = new BufferedReader(buff);
String s ;
while ((s=in.readLine())!=null) {
Matcher matcher = patternClass.matcher(s);
if(matcher.find()){
s = matcher.replaceAll("");
System.out.println(s);
}else{
System.out.println(s);
}
write.write(s+"\n");
}
write.close();
in.close();
}
}

html.txt 是你要处理的文本,

taget.txt是处理之后的文本,也直接在控制台打印出来了。

妹的。终于出来了。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一头程序猿
2012-11-23
知道答主
回答量:29
采纳率:0%
帮助的人:7.5万
展开全部
我怎么觉得不要用JAVA,要JS比较好呢。。还简单。。你这不明显,我给你加了背景,效果能明显点
<div id="a" class="content">
<div id="t1">
文本1
</div>
<p class="bbb" id="b" style="background: #0FFF00">
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
<input type="button" value="点我去" onclick="abc()">
</div>

js中的代码:
function abc(){
document.getElementById("a").class="";

document.getElementById("b").class="";
document.getElementById("b").style.background="";
}
追问
如果一万个这样的网页,是不是要写一万多个js?我的是要java大批量删除多个html里面的class和style属性,并不是一个而已
追答
那我想问一下:如果不是所有的项目都要移除呢,您写正则表达式是可以,有10000个页面,但是你把里面所有的属性都移除,那些还要效果的怎么办,您怎么区分那些还想要的属性呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sqc_j2ee
2012-11-23 · TA获得超过148个赞
知道答主
回答量:167
采纳率:100%
帮助的人:91.4万
展开全部
用js把class和style置空
追问
要用java,因为我项目要用java来大量删除那些属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nanayask
2012-11-23 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:81万
展开全部
java不是javascript...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式