Java正则表达式过滤html标签

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  /**

  *

  * <p>

  *

  * @param str

  * @return String

  */

  public static String filterHtml(String str) {

  Pattern pattern = Pattern.compile(regxpForHtml);

  Matcher matcher = pattern.matcher(str);

  StringBuffer sb = new StringBuffer();

  boolean result1 = matcher.find();

  while (result1) {

  matcher.appendReplacement(sb, “”);

  result1 = matcher.find();

  }

  matcher.appendTail(sb);

  return sb.toString();

  }

  /**

  *

  * <p>

  *

  * @param str

  * @param tag

  * @return String

  */

  public static String fiterHtmlTag(String str, String tag) {

  String regxp = “<\\s*” + tag + “]*)\\s”>\\s+([^>]*)\\s*>”;

  Pattern pattern = Pattern.compile(regxp);

  Matcher matcher = pattern.matcher(str);

  StringBuffer sb = new StringBuffer();

  boolean result1 = matcher.find();

  while (result1) {

  matcher.appendReplacement(sb, “”);

  result1 = matcher.find();

  }

  matcher.appendTail(sb);

  return sb.toString();

  }

  /**

  *

  * <p>

  *

  * @param str

  * @param beforeTag

  * @param tagAttrib

属性值

  * @param startTag

  * @param endTag

  * @return String

  */

  public static String replaceHtmlTag(String str, String beforeTag,

  String tagAttrib, String startTag, String endTag) {

  String regxpForTag = “<\\s*” + beforeTag + “]*)\\s”>\\s+([^>]*)\\s*>”;

  String regxpForTagAttrib = tagAttrib + “=\”([^\”]+)\””;

  Pattern patternForTag = Pattern.compile(regxpForTag);

  Pattern patternForAttrib = Pattern.compile(regxpForTagAttrib);

  Matcher matcherForTag = patternForTag.matcher(str);

  StringBuffer sb = new StringBuffer();

  boolean result = matcherForTag.find();

  while (result) {

  StringBuffer sbreplace = new StringBuffer();

  Matcher matcherForAttrib = patternForAttrib.matcher(matcherForTag

  .group(1));

  if (matcherForAttrib.find()) {

  matcherForAttrib.appendReplacement(sbreplace, startTag

  + matcherForAttrib.group(1) + endTag);

  }

  matcherForTag.appendReplacement(sb, sbreplace.toString());

  result = matcherForTag.find();

  }

  matcherForTag.appendTail(sb);

  return sb.toString();

  }

  }

[1][2]

别小看任何人,越不起眼的人。往往会做些让人想不到的事。

Java正则表达式过滤html标签

相关文章:

你感兴趣的文章:

标签云: