java如何将html过滤为纯文本
java开发中jsp页面可以嵌套很多插件就可以将html形式的文本直接转化为纯文本,但是如果你已经保存下来或者没有运用插件,这个额html形式的文本你该怎么转化为纯文本呢?有次我将公告保存了html形式的,展示是直接将这个html放在对应的区域内就可以,然而,在写接口是,另外一方需要纯文本的,而我页面没有运用这个插件,怎么做?最终得以解决,希望对需要的人有用。
html文本:
<p style="margin: auto; padding: inherit; font-stretch: normal; line-height: 1.8; font-family: tahoma, "microsoft yahei", 微软雅黑; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255);">
引用<a href="http://www.divcss5.com/" style="color: rgb(0, 0, 204);">CSS</a>文件到<a href="http://www.divcss5.com/html/" style="color: rgb(0, 0, 204);">Html</a>方法-<strong>css引入</strong>,<strong>css引用</strong>
</p>
<p style="margin: auto; padding: inherit; font-stretch: normal; line-height: 1.8; font-family: tahoma, "microsoft yahei", 微软雅黑; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255);">
使用不同的方法来引用<a href="http://www.divcss5.com/rumen/r29.shtml" style="color: rgb(0, 0, 204);">css样式</a>表,最终到达的效果相同,但是使用不同方法应用的<a href="http://www.divcss5.com/rumen/r72.shtml" style="color: rgb(0, 0, 204);">css文件</a>将影响到SEO及网页打开速度效率。
</p>
<p style="margin: auto; padding: inherit; font-stretch: normal; line-height: 1.8; font-family: tahoma, "microsoft yahei", 微软雅黑; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255);">
html引用css方法如下<br/>1、直接在<a href="http://www.divcss5.com/" style="color: rgb(0, 0, 204);">div</a>中使用css样式制作<a href="http://www.divcss5.com/" style="color: rgb(0, 0, 204);">div+css</a>网页<br/>2、html中使用style自带式<br/>3、使用@import引用外部CSS文件<br/>4、使用<a href="http://www.divcss5.com/html/h64.shtml" style="color: rgb(0, 0, 204);">link</a>引用外部CSS文件 推荐此方法
</p>
<p style="margin: auto; padding: inherit; font-stretch: normal; line-height: 1.8; font-family: tahoma, "microsoft yahei", 微软雅黑; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255);">
<span style="color: rgb(255, 0, 0);">扩展阅读</span>:<a href="http://www.divcss5.com/rumen/r431.shtml" style="color: rgb(0, 0, 204);">link与import区别</a>
</p>
<p style="margin: auto; padding: inherit; font-stretch: normal; line-height: 1.8; font-family: tahoma, "microsoft yahei", 微软雅黑; color: rgb(51, 51, 51); white-space: normal; background-color: rgb(255, 255, 255);">
接下来我们将逐个讲解html引用css方法的例子
</p>
<p>
<br/>
</p>
我们现在运用正则表达式对这个html文本进行处理,使用正则表达式可以最快速的过滤到html标签,这个方法遗留的问题就是有时候空格不清楚是用户敲的还是其他原因放上去的,在本方法中我将所有空格过去掉了,如果你不需要可以去掉那句代码,代码如下:
//将html转换为纯文本,此方法最后保留了&nbps空格,使用时注意将空格替换掉
public static String delHTMLTag(String htmlStr){
String regEx_script="<script[^>]*?>[\\s\\S]*?<\\/script>"; //定义script的正则表达式
String regEx_style="<style[^>]*?>[\\s\\S]*?<\\/style>"; //定义style的正则表达式
String regEx_html="<[^>]+>"; //定义HTML标签的正则表达式
Pattern p_script=Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE);
Matcher m_script=p_script.matcher(htmlStr);
htmlStr=m_script.replaceAll(""); //过滤script标签
Pattern p_style=Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);
Matcher m_style=p_style.matcher(htmlStr);
htmlStr=m_style.replaceAll(""); //过滤style标签
Pattern p_html=Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);
Matcher m_html=p_html.matcher(htmlStr);
htmlStr=m_html.replaceAll(""); //过滤html标签
return htmlStr.trim(); //返回文本字符串
}
最后的字符串就是如下图所示这样:
引用CSS文件到Html方法-css引入,css引用使用不同的方法来引用css样式表,最终到达的效果相同,但是使用不同方法应用的css文件将影响到SEO及网页打开速度效率。html引用css方法如下1、直接在div中使用css样式制作div+css网页2、html中使用style自带式3、使用@import引用外部CSS文件4、使用link引用外部CSS文件推荐此方法扩展阅读:link与import区别接下来我们将逐个讲解html引用css方法的例子
简单的记录下来,表达可能不清晰希望大家不要介意!
java如何将html过滤为纯文本的更多相关文章
- Java 去除HTML标签转化成纯文本
package com.ahgw.common.global; import java.util.regex.Pattern; /** * 截取HTML代码 * * @author YangJunpi ...
- Aspose.words Java基于模板生成word之纯文本内容
一,创建word模板 1.新建一个word文档 2.分别给四个参数设置域 (1)将鼠标置于想要设置域的地方 (2)设置域名 (3)设置好之后如下图所示 二,项目 1,引入maven依赖 <dep ...
- Java过滤任意(script,html,style)标签符,返回纯文本--封装类
import java.util.regex.Pattern; /** * 过滤标签字符串,返回纯文本 * */ public class ChangePlainText { ...
- Atitit.jsou html转换纯文本 java c# php
Atitit.jsou html转换纯文本 java c# php 1. 原理<p> <h> <li><div> 等lable转换为回车1 2. 调用2 ...
- java 正则表达式提取html纯文本
本文来自我的个人博客: java 正则表达式提取html纯文本 做内容的大家都知道,从html中直接提取纯文本是一个非常大的问题.现将我做的正则匹配贴上: import java.util.regex ...
- java 发送 mail 纯文本发送和html格式发送
一:需要引入mail maven jar包 <!--邮件发送包--> <dependency> <groupId>javax.mail</groupId> ...
- 处理html内容,获取纯文本
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.rege ...
- php获取html纯文本,解决编辑器手动键入空格造成的无意义空白字符(空值问题)
在项目中,我们常常需要用到一些验证,不管是前台还是后台的,上传的问题时,需要内容不为空,但可视化编辑器的介入让手动敲入空格跳出了常规的检测.空格是一种排版的手段,但毫无内容只有空格就显得没有意义了,今 ...
- Java实现敏感词过滤 - IKAnalyzer中文分词工具
IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...
随机推荐
- ubuntu安装mysql可视化工具MySQL-workbench及简单操作
一.使用命令行在ubuntu下安装mysql可视化工具MySQL-workbench Step1:安装MySQL-workbench 方案一:如果你已经装好mysql的相关服务,那么直接使用如下命令即 ...
- redis实现消息队列
业务需求 本文是以laravel框架来介绍redis队列,具体用法你可以参考http://www.cnblogs.com/lengthuo/p/7277260.html最近接受一个很简单的东西,(说起 ...
- 如何利用百度orc实现验证码自动识别
在爬取网站的时候都遇到过验证码,那么我们有什么方法让程序自动的识别验证码呢?其实网上已有很多打码平台,但是这些都是需要money.但对于仅仅爬取点数据而接入打码平台实属浪费.所以百度免费orc正好可以 ...
- python常用标准库
-------------------系统内建函数------------------- 1.字符串 str='这是一个字符串数据测试数据'对应 str[0]:获取str字符串中下标为 ...
- Bootstrap-table事件使用
HTML <div class="alert alert-danger" id="eventInfo"></div> <table ...
- 使用 Palette 让你的 UI 色彩与内容更贴合
版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 每周会统一更新到这里,如果喜欢,可关注公众号获取最新文章. 未经允许,不得转载. 一.前言 今天介绍一个 An ...
- Ibatis insert语句插入null引发的错误
公司使用的orm框架为ibatis,其中默认的insert语句一直都是这样写的: <insert id="insert" parameterClass="activ ...
- vue引入百度地图api组件封装(根据地址定位)
Map.vue <template> <div class="Map" :style="{ height: this.height+'px', widt ...
- [转]Java7中的ForkJoin并发框架初探(中)——JDK中实现简要分析
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp85 根据前文描述的Doug Lea的理论基础,在JDK1.7中已经给 ...
- [js高手之路]Vue2.0基于vue-cli+webpack同级组件之间的通信教程
我们接着上文继续,本文我们讲解兄弟组件的通信,项目结构还是跟上文一样. 在src/assets目录下建立文件EventHandler.js,该文件的作用在于给同级组件之间传递事件 EventHandl ...