日期:2014-05-18  浏览次数:20603 次

怎么去掉html代码啊
从数据库里读出一段数据例如:
<font   color=#00000> Hello </font>
怎么用java程序去掉所有的html代码,只显示Hello,
小第先谢了啊!

------解决方案--------------------
package edu.cust.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HtmlFliter {

private Pattern p;

private Matcher m;

public String htmlChanger(String regEx, String htmlTag, String replaceStr) {

String ret = " ";
try {
p = Pattern.compile(regEx);// 设置比较模式
m = p.matcher(htmlTag);
boolean rs = m.find();
ret = p.matcher(htmlTag).replaceAll(replaceStr);

} catch (Exception e) {
}

return ret;
}

public static void main(String[] args) {

String htmlToChange = " <font color=#00000> Hello </font> ";//你要转换的HTML标记。

String yourRegEx = "( <\\s*[a-zA-Z][^> ]*> )|( </\\s*[a-zA-Z][^> ]*> ) ";//这个就是对应的去掉HTML标记的正则表达式

String replaceStr = " ";//这个是你要将它替换的字符串,因为你要消去HTML标记,所以这里用空串。

HtmlFliter fliter = new HtmlFliter();

String result = fliter.htmlChanger(yourRegEx, htmlToChange, replaceStr);

System.out.println( "----> : " + result);

}
}