JAVA實現(xiàn)html轉(zhuǎn)義字符及css清除
來源:易賢網(wǎng) 閱讀:5739 次 日期:2015-04-15 14:38:56
溫馨提示:易賢網(wǎng)小編為您整理了“JAVA實現(xiàn)html轉(zhuǎn)義字符及css清除”,方便廣大網(wǎng)友查閱!

JAVA實現(xiàn)html轉(zhuǎn)義字符及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;

/**

* 靜態(tài)文件處理的一些便捷服務

* @author Kettas

* 4:27:25 PM

*/

public class HTMLServices {

private static Log log=LogFactory.getLog(HTMLServices.class);

/**

* 清除html代碼

* <p>所有包括在'&lt;'與'&gt;'之間的內(nèi)容全部都會被清除掉,并返回</P>

* @param args

* @return String

*/

public static String clearHTMLToString(String args){

return clearHTMLToString(args,false);

}

/**

* 清除html代碼

* <p>所有包括在'&lt;'與'&gt;'之間的內(nèi)容全部都會被清除掉,并返回</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;'之間的內(nèi)容全部都會被清除掉,并指定返回的長度</P>

* @param args

* @return String

*/

public static String clearHTMLToString(String args,int maxSize){

return clearHTMLToString(args, maxSize, "");

}

/**

* 清除html代碼

* <p>所有包括在'&lt;'與'&gt;'之間的內(nèi)容全部都會被清除掉,并指定返回的長度</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技術(shù)專欄

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:JAVA實現(xiàn)html轉(zhuǎn)義字符及css清除

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)