• html转义字符及css清除


    1. [代码][Java]代码     
    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>所有包括在'&lt;'与'&gt;'之间的内容全部都会被清除掉,并返回</P>
         * @param args
         * @return String
         */
        public static String clearHTMLToString(String args){
            return clearHTMLToString(args,false);
        }
        /**
         * 清除html代码
         * <p>所有包括在'&lt;'与'&gt;'之间的内容全部都会被清除掉,并返回</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*| | | ","");
            }
            return args;
        }
        /**
         * 清除html代码
         * <p>所有包括在'&lt;'与'&gt;'之间的内容全部都会被清除掉,并指定返回的长度</P>
         * @param args
         * @return String
         */
        public static String clearHTMLToString(String args,int maxSize){
            return clearHTMLToString(args, maxSize, "");
        }
        /**
         * 清除html代码
         * <p>所有包括在'&lt;'与'&gt;'之间的内容全部都会被清除掉,并指定返回的长度</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样式文件中读取&lt;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样式文件中读取&lt;Style>样式
    //   * @return Map&lt;String,String>
    //   */
    //  public static  Map<String,String> getStyleToMap(File file){
    //      Map<String, String> css=new HashMap<String, String>();
    //      try{http://www.bizhizu.cn/shouhui/
    //          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 ;
         * 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 ;
         * Map&lt;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 "";
    //  }
         
    }

  • 相关阅读:
    C#编程(四十一)----------用户定义的数据类型转换
    C#编程(四十)----------运算符重载
    C#编程(三十九)----------比较对象的相等性
    下载mqtt.fx
    python3 mqtt 客户端以及服务端
    mac 下使用nasm
    shell equal
    python client.py
    常见面试题
    mysql 包含查找
  • 原文地址:https://www.cnblogs.com/xkzy/p/3927655.html
Copyright © 2020-2023  润新知