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年教师初级职称申报网上流程?
如何快速重置建站主机并恢复默认配置?

