JAVA过滤标签实现将html内容转换为文本的方法示例

发布时间 - 2026-01-11 02:13:41    点击率:

本文实例讲述了JAVA过滤标签实现将html内容转换为文本的方法。分享给大家供大家参考,具体如下:

/**
* 把html内容转为文本
* @param html 需要处理的html文本
* @param filterTags 需要保留的html标签样式
* @return
*/
public static String trimHtml2Txt(String html, String[] filterTags){
    html = html.replaceAll("\\<head>[\\s\\S]*?</head>(?i)", "");//去掉head
    html = html.replaceAll("\\<!--[\\s\\S]*?-->", "");//去掉注释
    html = html.replaceAll("\\<![\\s\\S]*?>", "");
    html = html.replaceAll("\\<style[^>]*>[\\s\\S]*?</style>(?i)", "");//去掉样式
    html = html.replaceAll("\\<script[^>]*>[\\s\\S]*?</script>(?i)", "");//去掉js
    html = html.replaceAll("\\<w:[^>]+>[\\s\\S]*?</w:[^>]+>(?i)", "");//去掉word标签
    html = html.replaceAll("\\<xml>[\\s\\S]*?</xml>(?i)", "");
    html = html.replaceAll("\\<html[^>]*>|<body[^>]*>|</html>|</body>(?i)", "");
    html = html.replaceAll("\\\r\n|\n|\r", " ");//去掉换行
    html = html.replaceAll("\\<br[^>]*>(?i)", "\n\r");
    List<String> tags = new ArrayList<String>();
    List<String> s_tags = new ArrayList<String>();
    List<String> halfTag = Arrays.asList(new String[]{"img","table","thead","th","tr","td"});//
    if(filterTags != null && filterTags.length > 0){
      for (String tag : filterTags) {
        tags.add("<"+tag+(halfTag.contains(tag)?"":">"));//开始标签
        if(!"img".equals(tag)) tags.add("</"+tag+">");//结束标签
        s_tags.add("#REPLACETAG"+tag+(halfTag.contains(tag)?"":"REPLACETAG#"));//尽量替换为复杂一点的标记,以免与显示文本混合,如:文本中包含#td、#table等
        if(!"img".equals(tag)) s_tags.add("#REPLACETAG/"+tag+"REPLACETAG#");
      }
    }
    html = StringUtils.replaceEach(html, tags.toArray(new String[tags.size()]), s_tags.toArray(new String[s_tags.size()]));
    html = html.replaceAll("\\</p>(?i)", "\n\r");
    html = html.replaceAll("\\<[^>]+>", "");
    html = StringUtils.replaceEach(html,s_tags.toArray(new String[s_tags.size()]),tags.toArray(new String[tags.size()]));
    html = html.replaceAll("\\ ", " ");
    return html.trim();
}

PS:这里再为大家推荐一款功能类似的在线工具供大家参考使用:

在线html/js/css代码过滤工具
http://tools./code/htmlfilter

另外,关于正则操作,这里再为大家推荐两款相关在线工具:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


# JAVA  # 过滤  # 标签  # html内容  # 转换  # 文本  # java过滤html标签获取纯文本信息的实例  # java使用正则表达式过滤html标签  # Java利用转义字符过滤HTML中的标签  # 操作技巧  # 再为  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 正则表达式  # 两款  # 更多关于  # 转换为  # 所述  # 程序设计  # 换行  # 测试工具  # 讲述了  # script  # style  # word  # js  # head 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android仿QQ列表左滑删除操作  大连 网站制作,大连天途有线官网?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Laravel storage目录权限问题_Laravel文件写入权限设置  黑客如何通过漏洞一步步攻陷网站服务器?  如何正确选择百度移动适配建站域名?  如何实现javascript表单验证_正则表达式有哪些实用技巧  如何在万网自助建站中设置域名及备案?  如何撰写建站申请书?关键要点有哪些?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Laravel如何使用Service Container和依赖注入?(代码示例)  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  如何安全更换建站之星模板并保留数据?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  如何在IIS中新建站点并解决端口绑定冲突?  Laravel怎么实现验证码(Captcha)功能  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel如何集成Inertia.js与Vue/React?(安装配置)  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  如何续费美橙建站之星域名及服务?  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Python文本处理实践_日志清洗解析【指导】  如何在服务器上三步完成建站并提升流量?  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何用搬瓦工VPS快速搭建个人网站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何在云指建站中生成FTP站点?  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  如何用虚拟主机快速搭建网站?详细步骤解析  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Java垃圾回收器的方法和原理总结  南京网站制作费用,南京远驱官方网站?  Laravel怎么清理缓存_Laravel optimize clear命令详解  如何在万网自助建站平台快速创建网站?  Laravel如何使用查询构建器?(Query Builder高级用法)  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何快速搭建虚拟主机网站?新手必看指南  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  android nfc常用标签读取总结  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  JS碰撞运动实现方法详解  常州企业网站制作公司,全国继续教育网怎么登录?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何快速重置建站主机并恢复默认配置?