去除富文本格式

1、写一个公共类

package com.boyutec.oss.sys.util;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;

import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.parser.ParserDelegator;

public class Html2Text extends HTMLEditorKit.ParserCallback {

  private static Html2Text html2Text = new Html2Text();

  StringBuffer s;

  public Html2Text() {
  }

  public void parse(String str) throws IOException {

    InputStream iin = new ByteArrayInputStream(str.getBytes());
    Reader in = new InputStreamReader(iin);
    s = new StringBuffer();
    ParserDelegator delegator = new ParserDelegator();
    // the third parameter is TRUE to ignore charset directive
    delegator.parse(in, this, Boolean.TRUE);
    iin.close();
    in.close();
  }

  public void handleText(char[] text, int pos) {
    s.append(text);
  }

  public String getText() {
    return s.toString();
  }

  public static String getContent(String str) {
    try {
      html2Text.parse(str);
    } catch (IOException e) {
      e.printStackTrace();
    }
    return html2Text.getText();
  }

}

2、可以直接调用:Html2Text.getContent("需要处理的字符串);

原文地址:https://www.cnblogs.com/h-wei/p/10565665.html