package com.trydone.core.util;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.parser.ParserDelegator;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
/**
* ȥHTMLΪText
*/
public class HtmlToText {
public String getTextFromHtml(String htmlStr) {
StringBuffer txtBuf = new StringBuffer();
if (htmlStr == null || htmlStr.length() == 0) return null;
try {
Reader r = new StringReader(htmlStr);
ParserDelegator parser = new ParserDelegator();
HtmlParserCallback callback = new HtmlParserCallback();
parser.parse(r, callback, true);
txtBuf = callback.getTxtBuf();
}
catch (IOException e) {
e.printStackTrace();
}
return txtBuf.toString();
}
}
class HtmlParserCallback extends HTMLEditorKit.ParserCallback {
private StringBuffer txtBuf;
public HtmlParserCallback() {
this.txtBuf = new StringBuffer();
}
public StringBuffer getTxtBuf() {
return txtBuf;
}
public void setTxtBuf(StringBuffer txtBuf) {
this.txtBuf = txtBuf;
}
public void handleText(char[] data, int pos) {
txtBuf.append(new String(data));
}
}