Java 过滤HTML标签,转HTML为纯文本原理:
是根据 < > 分析并提供文本。
先把HTML文本转为字符数组,对数组里的字符依次进行判断:
以<开始记录,表示在HTML标签内,不为文本字符。
以>结束后,表示HTML标签结束,为文本字符加到sBuffer变量里。
最后去除多余空格,最后得到纯文本。
public class FilterHTML {
public static void main(String[] args) {
String html = "<h1>时代Java:</h1><div>nowjava.com</div>";
String text = html2Text(html);
System.out.println(text);
}
/**
* HTML转TEXT
* @param htmlContent
* @return
*/
public static String html2Text(String htmlContent) {
boolean bContent = true;
StringBuffer sBuffer = new StringBuffer(8096 * 2);
char[] cBuffer = htmlContent.toCharArray();
int nCount = cBuffer.length;
for (int i = 0; i < nCount; i++) {
if (bContent == false) {
if (cBuffer[i] == '>')
bContent = true;
else
continue;
} else {
if (cBuffer[i] == '<') {
bContent = false;
continue;
} else if (cBuffer[i] == '\n') {
continue;
}
sBuffer.append(cBuffer[i]);
}
}
if(sBuffer.indexOf(">") > -1){
return wipeOffSpace(sBuffer.substring(sBuffer.indexOf(">")+1).replaceAll(" ", " "));
}
else{
return wipeOffSpace(sBuffer.toString().replaceAll(" ", " "));
}
}
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。