package com.opslab.util.web; import com.opslab.util.ConvertUtil; import com.opslab.util.StringUtil; import java.io.UnsupportedEncodingException; /** * 提供Web相关的个工具类 */ public final class WebUtil { /** * 对字符串进行编码 * * @param str 需要处理的字符串 * @param encoding 编码方式 * @return 编码后的字符串 */ public static String escape(String str, String encoding) throws UnsupportedEncodingException { if (StringUtil.isEmpty(str)) { return ""; } char[] chars =ConvertUtil.bytesToChars(ConvertUtil.encodeBytes(str.getBytes(encoding), '%')); return new String(chars); } /** * 对字符串进行解码 * * @param str 需要处理的字符串 * @param encoding 解码方式 * @return 解码后的字符串 */ public static String unescape(String str,String encoding){ if(StringUtil.isEmpty(str)){ return ""; } return UrlUtil.decodeQuery(str, encoding); } /** * HTML标签转义方法 * * 空格   < 小于号 < > 大于号 > & 和号 & " 引号 " ' 撇号 ' ¢ 分 ¢ £ 镑 £ ¥ 日圆 ¥ € 欧元 € § 小节 § © 版权 © ® 注册商标 ® ™ 商标 ™ × 乘号 × ÷ 除号 ÷ */ public static String unhtml(String content) { if (StringUtil.isEmpty(content)) { return ""; } String html = content; html = html.replaceAll("'", "'"); html = html.replaceAll("\"", """); html = html.replaceAll("\t", "  ");// 替换跳格 html = html.replaceAll("<", "<"); html = html.replaceAll(">", ">"); return html; } public static String html(String content) { if (StringUtil.isEmpty(content)) { return ""; } String html = content; html = html.replaceAll("'", "'"); html = html.replaceAll(""", "\""); html = html.replaceAll(" ", " ");// 替换跳格 html = html.replaceAll("<", "<"); html = html.replaceAll(">", ">"); return html; } }