现在在做政府网站,网站里有很多公开信息和政务咨询的新闻,现在需要做新闻的RSS订阅功能,其中有一项是需要处理文章页的内容。我们后台添加编辑文章使用的是编辑器,文章内容会带有很多html标签和css样式。RSS订阅展示新闻列表,只需要展示一部分文章内容,这就需要处理文章页的html代码,去除标签,抓取文章文字内容,下面讲一下怎么做,主要是java的正则表达式和replaceAll()方法。

/*** 去除文章内容页页面代码里的HTML标签* Created by yanyl on 2018/6/4.*/
public class DelTagsUtil {/*** 去除html代码中含有的标签* @param htmlStr* @return*/public static String delHtmlTags(String htmlStr) {//定义script的正则表达式,去除js可以防止注入String scriptRegex="<script[^>]*?>[\\s\\S]*?<\\/script>";//定义style的正则表达式,去除style样式,防止css代码过多时只截取到css样式代码String styleRegex="<style[^>]*?>[\\s\\S]*?<\\/style>";//定义HTML标签的正则表达式,去除标签,只提取文字内容String htmlRegex="<[^>]+>";//定义空格,回车,换行符,制表符String spaceRegex = "\\s*|\t|\r|\n";// 过滤script标签htmlStr = htmlStr.replaceAll(scriptRegex, "");// 过滤style标签htmlStr = htmlStr.replaceAll(styleRegex, "");// 过滤html标签htmlStr = htmlStr.replaceAll(htmlRegex, "");// 过滤空格等htmlStr = htmlStr.replaceAll(spaceRegex, "");return htmlStr.trim(); // 返回文本字符串}/*** 获取HTML代码里的内容* @param htmlStr* @return*/public static String getTextFromHtml(String htmlStr){//去除html标签htmlStr = delHtmlTags(htmlStr);//去除空格" "htmlStr = htmlStr.replaceAll(" ","");return htmlStr;}public static void main(String[] args){String htmlStr= "<script type>var i=1; alert(i)</script><style> .font1{font-size:12px}</style><span>少年中国说。</span>红日初升,其道大光。<h3>河出伏流,一泻汪洋。</h3>潜龙腾渊, 鳞爪飞扬。乳 虎啸  谷,百兽震惶。鹰隼试翼,风尘吸张。奇花初胎,矞矞皇皇。干将发硎,有作其芒。天戴其苍,地履其黄。纵有千古,横有" +"八荒。<a href=\"www.baidu.com\">前途似海,来日方长</a>。<h1>美哉我少年中国,与天不老!</h1><p>壮哉我中国少年,与国无疆!</p>";System.out.println(getTextFromHtml(htmlStr));}}

main方法运行结果:

少年中国说。红日初升,其道大光。河出伏流,一泻汪洋。潜龙腾渊,鳞爪飞扬。乳虎啸谷,百兽震惶。鹰隼试翼,风尘吸张。奇花初胎,矞矞皇皇。干将发硎,有作其芒。天戴其苍,地履其黄。纵有千古,横有八荒。前途似海,来日方长。美哉我少年中国,与天不老!壮哉我中国少年,与国无疆!

java去除html代码中含有的html、js、css标签,获取文字内容相关推荐

  1. 去除java接口返回值中含有的html、js、css标签,获取纯文字

    现在在做政府网站,网站里有很多公开信息和政务咨询的新闻,现在需要做新闻的RSS订阅功能,其中有一项是需要处理文章页的内容.我们后台添加编辑文章使用的是编辑器,文章内容会带有很多html标签和css样式 ...

  2. c语言清除html标签的方法,去除HTML代码中所有标签的两种方法

    去除HTML代码中所有标签 '****************************** '函数:RemoveHTML_A(strText) '参数:strText,待处理的字符串 '作者:阿里西西 ...

  3. yii2 asset.php,Yii2中使用asset压缩js,css文件的方法_php实例

    官网文档 http://www.yiiframework.com/doc-2.0/guide-structure-assets.html yii目录下运行 asset/template assets. ...

  4. html获取文本框中的文字,JavaScript实现input输入框点击获取文字内容

    Js实现INPUT输入框,当鼠标点击文字时自动获取文字内容,并显示在文本框中,一个惯用的表单技巧,有时可省去一些用户输入的麻烦,可有效提升用户体验. input输入框获取js点击文字内容 .c{ wi ...

  5. Java去除PDF文件中的图片

    场景:调用第三方的接口取得的PDF文件流中有个不想要的图片,跟第三方接口沟通无果的情况下,自己想办法去掉吧. 解决思路:打算用PDFBox去掉PDF中的图片,但是在代码中resources.getIm ...

  6. 【Java】在代码中设置输出字符集为UTF-8

    今日无聊,来试试如何在 Java 代码中更改输出字符集. 一行代码设置输出字符集为UTF-8 import java.io.PrintStream; import java.nio.charset.S ...

  7. java 魔法值_Java代码中的魔法值

    所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义. 1. 前言 重构老代码中遇到了不少类似下面这种写法: public void attend(String ...

  8. 如何去除IDEA代码中大量的波浪线!

    idea代码中存在大量的波浪线,很大一部分是在提示你,这是重复代码,但是并不是所有的重复代码都能合并,所以这样的提示并不方便.好在可以通过配置去掉这些波浪线~~ Flie --> Setting ...

  9. jsp基础代码片段(含sql与js和jsp的交互)与简易贴吧网站项目

    因为老是翘掉学校jsp的课程,结果结课作业本来是一个小组做一个网站,结果我被老师指名道姓的要求一个人做一个网站,于是学了几天jsp,用了2天时间做了个网站 , 但安全性几乎为0 , 先写一篇博客记录一 ...

最新文章

  1. matlab数据可视化总结,机器学习----Matlab数据可视化总结(plot篇)
  2. enum2str做为queryValue时的问题
  3. PHPmysqli的 预处理执行查询语句
  4. ZZULIOJ 1098: 复合函数求值(函数专题)
  5. 【电力负荷预测】基于matlab灰狼算法优化LSTM短期电力负荷预测【含Matlab源码 1518期】
  6. php vue插件 hplus-ui初学
  7. 计算机证书都需要哪些知识,计算机资格证书有哪些计算机专业证书有哪些
  8. 第二工业大学计算机应用大专录取分,二工大| 2018年上海第二工业大学专科层次依法自主招生各专业最低录取分数线...
  9. Ant下载安装配置及使用
  10. php selectradio和checkbox默认选择的实现方法
  11. xiuno开发文档_$ip-XiunoPHP 4.0 开发手册
  12. 网络安全日记之暗月DIV+CSS
  13. python画简单花的代码_Python竟能画这么漂亮的花,帅呆了(代码分享)
  14. EventLoop(回顾)
  15. R语言1----Excel格式数据的导入
  16. 在 Java 中如何加快大型集合的处理速度
  17. 7月7日易用性SIG技术分享活动精彩回顾
  18. Linux学习笔记之——Linux系统内部相关介绍
  19. 爱心宠物诊所系统(实训)
  20. 使用apimocker工具辅助测试

热门文章

  1. 未报价快递损毁如何处理(网上信息整理)
  2. 九联UNT413A_S905L3A__AI语音_默认打开ADB_完美线刷固件包【可救砖】
  3. 2021年G1工业锅炉司炉考试APP及G1工业锅炉司炉证考试
  4. precision scale
  5. xdoj-37 排序2
  6. 大一学生网页课程作业 南京介绍网页设计 学生家乡网页设计作品静态 HTML网页模板源码 html我的家乡网页作业
  7. 狠!删库跑路!一行代码蒸发10亿人民币!
  8. 企业为何要建设工业互联网标识解析节点?
  9. 不是封闭的类Java
  10. Android 常用开源库总结