求一正则能去除HTML标签但又支持部份允许的标签!!

我的这个函数支持img p br font标签,但会把类似这样的也去除:
1.
2.
3. <测试>

怎样既支持上面的标签,又能较准确的去除html代码?

我觉得应该是:满足以 <开头并且紧跟着字母同时又排除img p等标签的需要被去除。

不如这样的正则应该如何写?多谢

[code="java"]

public class test {

public static void main(String[] args) {

    String content;

    content = "<img>image_url</font>";

    System.out.println(stripTags(content));
}

public static String stripTags(String content) {

    if (content == null)
        return null;

    content = content.replaceAll("<(?!/?(?i)(img|p|br|font)).*?>", "");
    return content;
}

}
[/code]

楼主不是写的很好么,最好加些注释,这样更好看些。

[code="java"]content.replaceAll("<" + //开头的 '<'
"(?!" + //正向预搜索否定
"/?" + // 0或1次 '/'
"(?i)" + //IGNORECASE
"(img|p|br|font))" + //支持的标签
".*?" + //匹配剩下的 勉强模式
">" //最后的 '>'
, "");[/code]

你要过滤哪些标签,就把这些标签的名字放到一个list里,

比如
//要过滤的标签名数组
List list = new ArrayList();
list.add("");
list.add("
");
。。。

for(int i=0;i<list.size();i++)
{
content = content.replaceAll(list.get(i), "");

}