📄 strutil.java
字号:
matcher = pattern.matcher(content); content = matcher.replaceAll( "<a href=\"$4\" TARGET=_blank><IMG SRC=images/pic/swf.gif border=0 alt=" + LoadString(request, "click_open_win") + " height=16 width=16>" + LoadString(request, "view_full_win") + "</a><br><OBJECT codeBase=hhttttpp://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=$2 height=$3><PARAM NAME=movie VALUE=\"$4\"><PARAM NAME=quality VALUE=high><embed src=\"$4\" quality=high pluginspage='hhttttpp://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=$2 height=$3></embed>$4</OBJECT><BR>"); patternStr = "\\[img\\](.[^\\[]*)\\[\\/img\\]"; pattern = Pattern.compile(patternStr, Pattern.DOTALL | Pattern.CASE_INSENSITIVE); matcher = pattern.matcher(content); content = matcher.replaceAll( "<a onfocus=this.blur() href=\"$1\" target=_blank><IMG SRC=\"$1\" border=0 alt=" + LoadString(request, "click_open_win") + " onmousewheel='return zoomimg(this)' onload=\"javascript:if(this.width>screen.width-333)this.width=screen.width-333\"></a><br>"); patternStr = "\\[whitepad\\](.[^\\[]*)\\[\\/whitepad\\]"; pattern = Pattern.compile(patternStr, Pattern.DOTALL | Pattern.CASE_INSENSITIVE); matcher = pattern.matcher(content); StringBuffer sb = new StringBuffer(); boolean result = matcher.find(); while (result) { INT_HELPER++; if (INT_HELPER >= 50000) { INT_HELPER = 0; } String str = "<textarea style='display:none' id=\"value_spwhitepad_" + INT_HELPER + "\">$1</textarea><iframe src=\"../spwhitepad/show.htm\" name=\"spwhitepad_" + INT_HELPER + "\" frameborder=\"0\" style=\"width:400px;height:200px;margin:5px;border:1px dashed #CCCCCC;\" scrolling=\"no\"></iframe>"; matcher.appendReplacement(sb, str); result = matcher.find(); } matcher.appendTail(sb); content = sb.toString(); if (isAutoLink) { String imgurl = ""; if (Global.virtualPath.equals("")) imgurl = "/forum/images/pic/url.gif"; else imgurl = "/" + Global.virtualPath + "/forum/images/pic/url.gif"; patternStr = "((http|https|ftp|rtsp|mms):(\\/\\/|\\\\\\\\)[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)"; pattern = Pattern.compile(patternStr); matcher = pattern.matcher(content); content = matcher.replaceAll( "<img align=absmiddle src='" + imgurl + "' border=0><a target=_blank href=$1>$1</a>"); patternStr = "((http|https|ftp|rtsp|mms):(\\/\\/|\\\\\\\\)[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)$"; pattern = Pattern.compile(patternStr, Pattern.DOTALL | Pattern.CASE_INSENSITIVE); matcher = pattern.matcher(content); content = matcher.replaceAll( "<img align=absmiddle src='" + imgurl + "' border=0><a target=_blank href=$1>$1</a>"); patternStr = "([^>=\"])((http|https|ftp|rtsp|mms):(\\/\\/|\\\\\\\\)[A-Za-z0-9\\./=\\?%\\-&_~`@':+!]+)"; pattern = Pattern.compile(patternStr, Pattern.DOTALL | Pattern.CASE_INSENSITIVE); matcher = pattern.matcher(content); content = matcher.replaceAll("$1<img align=absmiddle src='" + imgurl + "' border=0><a target=_blank href=$2>$2</a>"); patternStr = "([^(http://|http:\\\\)])((www|cn)[.](\\w)+[.]{1,}(net|com|cn|org|cc)(((\\/[\\~]*|\\\\[\\~]*)(\\w)+)|[.](\\w)+)*(((([?](\\w)+){1}[=]*))*((\\w)+){1}([\\&](\\w)+[\\=](\\w)+)*)*)"; pattern = Pattern.compile(patternStr); matcher = pattern.matcher(content); content = matcher.replaceAll("<img align=absmiddle src='" + imgurl + "' border=0><a target=_blank href=http://$2>$2</a>"); } content = content.replaceAll("hhttttpp", "http"); content = content.replaceAll("ffttpp", "ftp"); return content; } public static String ubb(HttpServletRequest request, String content, boolean show_smile) { return ubb(request, content, show_smile, true); } public static boolean isValidIP(String ip) { Pattern p = Pattern.compile( "[0-9\\*]{1,3}\\.[0-9\\*]{1,3}\\.[0-9\\*]{1,3}\\.[0-9\\*]{1,3}"); Matcher m = p.matcher(ip); boolean result = m.find(); if (result) { return true; } return false; } public static boolean IsValidEmail(String email) { String input = email; Pattern p = Pattern.compile("^\\.|^\\@"); Matcher m = p.matcher(input); if (m.find()) { return false; } p = Pattern.compile("^www\\."); m = p.matcher(input); if (m.find()) { return false; } p = Pattern.compile("[^A-Za-z0-9\\.\\@_\\-~#]+"); m = p.matcher(input); boolean result = m.find(); if (result) { return false; } if (email.indexOf("@") == -1) return false; return true; } public static String ShowStatus(String msg) { String str = ""; str = "<script language=javascript>\n"; str += "<!--\n"; str += "window.status=(\"" + msg + "\")\n"; str += "-->\n"; str += "</script>\n"; return str; } public static String left(String str, int length) { if (str.length() >= length) return str.substring(0, length); else { return str.substring(0); } } public static String getLeft(String str, int length) { if (str == null) return ""; int k = 0; int len = str.length(); for (int i = 0; i < len; i++) { if (str.charAt(i) > 255) { k += 2; } else { k += 1; } if (k >= length) return str.substring(0, i + 1); } return str; } public static String HTMLEncode(String text) { if (text == null) { return ""; } StringBuffer results = null; char[] orig = null; int beg = 0, len = text.length(); for (int i = 0; i < len; i++) { char c = text.charAt(i); switch (c) { case 0: case '&': case '<': case '>': case '\"': if (results == null) { orig = text.toCharArray(); results = new StringBuffer(len + 10); } if (i > beg) { results.append(orig, beg, i - beg); } beg = i + 1; switch (c) { default: continue; case '&': results.append("&"); break; case '<': results.append("<"); break; case '>': results.append(">"); break; case '\"': results.append("""); break; } break; } } if (results == null) { return text; } results.append(orig, beg, len - beg); return results.toString(); } public static String getFileExt(String fileName) { if (fileName == null) return ""; int dotindex = fileName.lastIndexOf("."); String extName = fileName.substring(dotindex + 1, fileName.length()); extName = extName.toLowerCase(); return extName; } public static String PadString(String str, char padChar, int length, boolean isLeft) { int strLen = str.length(); if (strLen >= length) return str; int len = length - strLen; String pStr = ""; for (int i = 0; i < len; i++) pStr += padChar; if (isLeft) return pStr + str; else return str + pStr; } public static String format(String format, Object[] args) { int len = args.length; for (int i = 0; i < len; i++) { if (args[i] == null) args[i] = "null"; format = format.replaceFirst("%s", args[i].toString()); } return format; } public static String trace(Throwable t) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); t.printStackTrace(pw); pw.flush(); String result = sw.toString(); return result; } public static String toSBC(String input) { char[] c = input.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == 32) { c[i] = (char) 12288; continue; } if (c[i] < 127) c[i] = (char) (c[i] + 65248); } return new String(c); } public static String toDBC(String input) { char[] c = input.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == 12288) { c[i] = (char) 32; continue; } if (c[i] > 65280 && c[i] < 65375) c[i] = (char) (c[i] - 65248); } return new String(c); } public static String escape(String src) { int i; char j; StringBuffer tmp = new StringBuffer(); tmp.ensureCapacity(src.length() * 6); for (i = 0; i < src.length(); i++) { j = src.charAt(i); if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j)) tmp.append(j); else if (j < 256) { tmp.append("%"); if (j < 16) tmp.append("0"); tmp.append(Integer.toString(j, 16)); } else { tmp.append("%u"); tmp.append(Integer.toString(j, 16)); } } return tmp.toString(); } public static String unescape(String src) { StringBuffer tmp = new StringBuffer(); tmp.ensureCapacity(src.length()); int lastPos = 0, pos = 0; char ch; while (lastPos < src.length()) { pos = src.indexOf("%", lastPos); if (pos == lastPos) { if (src.charAt(pos + 1) == 'u') { ch = (char) Integer.parseInt(src.substring(pos + 2, pos + 6), 16); tmp.append(ch); lastPos = pos + 6; } else { ch = (char) Integer.parseInt(src.substring(pos + 1, pos + 3), 16); tmp.append(ch); lastPos = pos + 3; } } else { if (pos == -1) { tmp.append(src.substring(lastPos)); lastPos = src.length(); } else { tmp.append(src.substring(lastPos, pos)); lastPos = pos; } } } return tmp.toString(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -