100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java去除html代码中含有的html js css标签 获取文字内容

java去除html代码中含有的html js css标签 获取文字内容

时间:2019-07-19 17:10:48

相关推荐

java去除html代码中含有的html js css标签 获取文字内容

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

/*** 去除文章内容页页面代码里的HTML标签* Created by yanyl on /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=\"\">前途似海,来日方长</a>。<h1>美哉我少年中国,与天不老!</h1><p>壮哉我中国少年,与国无疆!</p>";System.out.println(getTextFromHtml(htmlStr));}}

main方法运行结果:

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。