java清除html转义字符

代码如下:

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
 * 静态文件处理的一些便捷服务
 * @author Kettas
 * 4:27:25 PM
 */
public class HTMLServices {
 private static Log log=LogFactory.getLog(HTMLServices.class);

/**
  * 清除html代码
  * <p>所有包括在'<'与'>'之间的内容全部都会被清除掉,并返回</P>
  * @param args
  * @return String
  */
 public static String clearHTMLToString(String args){
  return clearHTMLToString(args,false);
 }
 /**
  * 清除html代码
  * <p>所有包括在'<'与'>'之间的内容全部都会被清除掉,并返回</P>
  * @param args
  * @param replaceNull 是否替换空格等制表符
  * @return String
  */
 public static String clearHTMLToString(String args,boolean replaceNull){
  if(StringUtils.isEmpty(args)){
   return "";
  }
  args= args.replaceAll("(?is)<(.*?)>","");
  if(replaceNull){
   args = args.replaceAll("\\s*|\t|\r|\n","");
  }
  return args;
 }
 /**
  * 清除html代码
  * <p>所有包括在'<'与'>'之间的内容全部都会被清除掉,并指定返回的长度</P>
  * @param args
  * @return String
  */
 public static String clearHTMLToString(String args,int maxSize){
  return clearHTMLToString(args, maxSize, "");
 }
 /**
  * 清除html代码
  * <p>所有包括在'<'与'>'之间的内容全部都会被清除掉,并指定返回的长度</P>
  * @param args
  * @return String
  */
 public static String clearHTMLToString(String args,int maxSize,String replace){
  args=clearHTMLToString(args);
  if(maxSize<=0){
   return args;
  }
  if(args.length()<=maxSize){
   return args;
  }
  return args.substring(0,maxSize).concat(replace);
 }
 /**
  * 将字符串截取指定长度
  * @param args
  * @param maxSize
  * @param replace
  * @return String
  */
 public static String clearHTMLToSize(String args,int maxSize,String replace){
  if(args.length()<=maxSize){
   return args;
  }
  return args.substring(0,maxSize).concat(replace);
 }
// /**
//  * 从css样式文件中读取<Style>样式
//  * @return String
//  */
// public static  String getStyleToString(File file){
//  Document doc=null;
//  Elements fileList=null;
//  try{
//   doc = Jsoup.parse(file, Config.DEFAULT_TYPE);
//   fileList=doc.select("style");
//   String css= doc.data();
//   if(css.length()<1){
//    return css;
//   }
//   /*
//    * 过滤掉注释语句
//    */
//   css=css.replaceAll("(<[^>]*>)", "");
//   return css;
//  }catch (Exception e) {
//   log.error(e);
//  }finally{
//   doc=null;
//   fileList=null;
//  }
//  return "";
// }
// /**
//  * 从css样式文件中读取<Style>样式
//  * @return Map<String,String>
//  */
// public static  Map<String,String> getStyleToMap(File file){
//  Map<String, String> css=new HashMap<String, String>();
//  try{
//   String cssStyle=getStyleToString(file);
//   if(cssStyle.trim().length()<1){
//    return css;
//   }
//   /*
//    *
//    */
//   String[] style=cssStyle.split("\\}");
//   String[] map=new String[2];
//   for (String _style : style) {
//    map=_style.split("\\{");
//    css.put(map[0],map[1]);
//   }
//   return css;
//  }catch (Exception e) {
//   log.error(e);
//  }
//  return css;
// }
 /**
  * 从style样式中读取CSS的属性
  * <pre>
  * String style="float:left;margin:0px;font-size:12px;";
  * String fontSize=HTMLServices.getStyleNameValue(style,"font-size");</pre>
  * @param style
  * @param styleName
  * @return String
  */
 protected static  String getStyleToString(String style,String styleName){
  try{
   Map<String,String> css=cssToMap(style);
   return css.get(styleName);
  }catch (Exception e) {
   log.error(e);
  }
  return "";
 }
 public static String filterChare(String msg,String ...chars){
  for(String _char:chars){
   msg=msg.replace(_char,"");
  }
  return msg;
 }
 public static String mapToCSS(Map<String, String> css){
  StringBuffer style=new StringBuffer();
  for(Map.Entry <String,String> entry : css.entrySet()){
   style.append(style.length()>0?",":"");
   style.append(entry.getKey()).append(":").append(entry.getValue());
  }
  return style.toString();
 }
 /**
  * 将style封装成键值对
  * <pre>
  * String style="float:left;margin:0px;font-size:12px;";
  * Map<String,String> css=HTMLServices.getStyleToMap(style);
  * System.out.println("font-size:"+css.get("font-size"));
  * </pre>
  * @param style
  * @return Map
  */
 public static  Map<String, String> cssToMap(String style){
  Map<String, String> map=new HashMap<String, String>();
  try{
   if(style==null||StringUtils.isEmpty(style)){
    return map;
   }
   style=style.toLowerCase();
   style=style.split("\\}")[0];
   String[] csss=style.split("\\;");
   for(int i=0,iSzie=csss.length;i<iSzie;i++){
    String [] cssStyle=csss[i].split("\\:");
    for (int j = 0,jSize=cssStyle.length; (j+1) < jSize; j+=2) {
     map.put(cssStyle[j].replace(" ", "").trim(), cssStyle[j+1].toString().trim());
    }
   }
  }catch (Exception e) {
   log.error(e);
  }
  return map;
 }
// /**
//  * 从css样式中读取cssName的属性(注意,css是标准css)
//  * @param css
//  * @param cssName
//  * @param styleName
//  * @return String
//  */
// public static  String getStyleNameValue(File file,String cssName,String styleName){
//  try{
//   String style=getStyleToMap(file).get(cssName);
//   return getStyleNameValue(style, styleName);
//  }catch (Exception e) {
//   log.error(e);
//  }
//  return "";
// }

}

(0)

相关推荐

  • 详解JAVA中转义字符

    本文主要介绍JAVA中转义字符,分享给大家.具体如下: 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377' \0:空字符 2.Unicode转义字符:\u + 四个十六进制数字:0~65535 \u0000:空字符 3.特殊字符:就3个 \":双引号  \':单引号  \\:反斜线 4.控制字符:5个 \' 单引号字符 \\ 反斜杠字符 \r 回车 \n 换行 \f 走纸换页 \t 横向跳格 \b 退格 点的转义:. ==> u002E 美元符号的转义:$ ==&g

  • java中的转义字符介绍

    java中的转义字符有四种: JAVA中转义字符: 1.八进制转义序列: + 1到3位5数字:范围'00'~'377':空字符 2.Unicode转义字符:u + 四个十六进制数字:0~65535u0000:空字符 3.特殊字符:就3个":双引号':单引号\:反斜线 4.控制字符:5个 r 回车n 换行f 走纸换页t 横向跳格b 退格 使用这些转义字符的规则:普通的转义字符序列和八进制转义字符都比Unicode转义字符要好得多,因为与Unicode转义字符不同,转义字符序列是在程序被解析为各种符

  • java中关于转义字符的一个bug

    在java中,你可以定义 char c = '\u4f60'; char m = '\u0045'; char e = '\u554a'; 这样的字面量,例如: System.out.println("\u535a\u5ba2\u56ed"); 这样的代码不管在什么编码环境下都不会出现中文乱码的问题 但是你不能定义这样的字面量: char c = '\u000a'; char m = '\u0027'; 这是因为\u000a和\u0027是特殊转义字符,Java对在字符串字面常量中的U

  • java清除html转义字符

    复制代码 代码如下: import java.util.HashMap;import java.util.Map; import org.apache.commons.lang3.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * 静态文件处理的一些便捷服务 * @author Kettas * 4:27:25 PM */public class

  • java清除u盘内存卡里的垃圾文件示例

    使用例子如下,用JAVA 运行Sort 1, 输入你要排序的文件路径 , 如 例子是对H:\下的文件和它所有子文件夹下的文件进行排序 2, 输入需要进行排序显示的最新大小,如 例子是对10M 大小 以上的文件进行排序 3,从大到小排序后按 文件路径\文件名-------大小 KB--------创建日期进行显示(yyyyMMdd) 格式进行显示,. 这样你就可以把太大的文件删除了,清理出空间 运行例子:H盘指向我的手机内存卡 复制代码 代码如下: D:\hjbsSorft\work\201402

  • 浅谈Volley加载不出图片的问题

    问题分析:加载后台图片的时候,发现加载不出来,后来发现图片的url格式是: http://192.168.1.71/\carhome\shop\778c2bc3ec0a49e1969b24b3a8e62f31\detail\DSC04209.JPG 因为Volley请求,不识别url中有"\" 所以需要把"|"替换成"/" 以下是工具类 public class StringUtil { public static String formatUr

  • CSS和Javascript简单复习资料

    CSS: 内联样式表 标签内直接加style="" 嵌入式样式表 定义在<head>标签 <style type="text/css"> 外部样式表 <link rel="StyleSheet" href="style.css"> 选择器: HTML选择器:接在html标签后加css 如:p{color:red} class选择器:1 在html标签后加class名,再加css 如:p.re

  • Java 语言实现清除带 html 标签的内容方法

    实例如下: public String stripHtml(String content) { // <p>段落替换为换行 content = content.replaceAll("<p .*?>", "\r\n"); // <br><br/>替换为换行 content = content.replaceAll("<br\\s*/?>", "\r\n"); // 去

  • Java中转义字符反斜杠\的代替方法及repalceAll内涵解析

    一.需求 现有一个字符串str String str = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\\":\\\"123456\\\"}"; System.out.println("str = " + str); 在控制台的输出为: str = {\"name\":\"spy\",\"id\":\&

  • Java垃圾回收之标记清除算法详解

    java垃圾回收算法之-引用计数器,这个算法其中一个优点便是,实时性,只要对象的引用计数器的值为0,则立刻回收.接下来介绍的标记清除算法,当对象的引用计数器的值为0时,不会立刻被回收的. 概念介绍 root对象 在标记清除算法中,会把如下对象称之为root对象 被栈中的变量(栈中存的是对象的引用)所引用的对象 被static变量引用的对象 可访问的对象 如果栈中有一个变量a引用了一个对象,那么该对象是可访问的,如果该对象中的某一个字段引用了另一个对象b,那么b也是可访问的.可访问的对象也称之为l

随机推荐