首页 > Java技术, 个人随笔 > java过滤掉富文本中除特定html标签外的其他标签
201901月19

java过滤掉富文本中除特定html标签外的其他标签

java过滤掉富文本中除特定html标签外的其他标签,排除的标签可以根据自己需求修改。

方法一

public static String getCleanContent(String content) {
	// String regEx = "(?!<(img|p|span).*?>)<.*?>";
	String regEx = "(?!<(img).*?>)<.*?>";
	Pattern p_html = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
	Matcher m_html = p_html.matcher(content);
	String str = m_html.replaceAll("");
	str = str.replace("&nbsp;", "");
	return str.trim();// 返回文本字符串
}

方法二

需要下载jakarta-oro.jar包

import org.apache.oro.text.perl.*;
public static String getCleanContent(String html) {
	StringBuffer buffer = new StringBuffer();
	Perl5Util preg = new Perl5Util();
	preg.substitute(buffer, "s/<script[^>]*?>.*?<\\/script>//gmi", html);
	// 过滤script标签
	html = buffer.toString();
	buffer.setLength(0);
	preg.substitute(buffer, "s#<[/]*?(?!p|img|span)[^<>]*?>##gmi", html);
	// ( p/img/span ...标签之外,都删除)
	html = buffer.toString();
	buffer.setLength(0);
	return html;
}

文章作者: iitshare
本文地址:http://www.iitshare.com/java-filter-out-rich-text-html-tags.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

更多

4 Responses to “java过滤掉富文本中除特定html标签外的其他标签”

  1. #1 华子春新语丝 回复 | 引用 Post:2019-02-12 14:42

    博主分享的很不错,收藏

  2. #2 repostone 回复 | 引用 Post:2019-04-29 17:10

    非技术人员的路过。

  3. #3 文娱帝国 回复 | 引用 Post:2019-05-07 15:24

    写的很好,支持下

  4. #4 repostone 回复 | 引用 Post:2019-05-11 17:07

    好久才更新了一次。

发表评论