JAVA实现html转义字符及css清除
来源: 阅读:5671 次 日期:2015-04-15 14:38:56
温馨提示: 小编为您整理了“JAVA实现html转义字符及css清除”,方便广大网友查阅!

JAVA实现html转义字符及css清除,具体代码如下:

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("","");

}

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{

//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&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("];

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 "";

//}

}

更多信息请查看IT技术专栏

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map