⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jspruncode.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
					}
				}
		}
		return message;
	}
	public String parsetable(String message){
		Pattern p = Pattern.compile("(?s)\\[table(?:=(\\d{1,4}%?)(?:,([\\(\\)%,#\\w ]+))?)?\\]\\s*(.+?)\\s*\\[/table\\]");
	    Matcher m = p.matcher(message);
	    String width = "";String bgcolor = "";
	    String tablemessage = "";
	    if(m.find()){
	    	width = m.group(1);
	    	bgcolor = m.group(2);
	    	tablemessage = m.group(3);
	    }
	    if(!message.matches("^\\[tr(?:=([\\(\\)%,#\\w]+))?\\]\\s*\\[td(?:=(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,4}%?))?)?\\]")&&!message.matches("^<tr[^>]*?>\\s*<td[^>]*?>")){
	    	message = message.replaceAll("\\[tr(?:=([\\(\\)%,#\\w]+))?\\]|\\[td(?:=(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,4}%?))?)?\\]|\\[/td\\]|\\[/tr\\]", "");
	    }
	    if(!Common.isEmpty(width)){
	    	if(width.endsWith("%")){
	    		width = width.substring(0,width.length()-1);
	    		width = Common.toDigit(width)<=98?width+"%":"98%";
	    	}else{
	    		if(Common.toDigit(width)<=560){
	    			width = width+"px";
	    		}else{
	    			width = "98%";
	    		}
	    	}
	    }
	    String relacemessage = "<table cellspacing=\"0\" class=\"t_table\" "+(Common.isEmpty(width)?"":" style=\"width:"+width+"\"")+(Common.isEmpty(bgcolor)?"":" bgcolor=\""+bgcolor+"\"")+">";
	    p = Pattern.compile("\\[tr(?:=([\\(\\)%,#\\w]+))?\\]\\s*\\[td(?:=(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,4}%?))?)?\\]");
	    m = p.matcher(tablemessage);
	    String colspan = "";
	    String rowspan = "";
	    while(m.find()){
	    	bgcolor = m.group(1);
	    	colspan = m.group(2);
	    	rowspan = m.group(3);
	    	width = m.group(4);
	    	 bgcolor = Common.isEmpty(bgcolor)?"":" bgcolor=\""+bgcolor+"\"";
	 	    colspan = Common.toDigit(colspan)>1?" colspan=\""+colspan+"\"":"";
	 	    rowspan = Common.toDigit(rowspan)>1?" rowspan=\""+rowspan+"\"":"";
	 	    width = Common.toDigit(width)>0?" width=\""+width+"\"":"";
	 	    String tablereplacemessage = "<tr"+bgcolor+"><td"+colspan+rowspan+width+">";
	 	    tablemessage = tablemessage.replaceFirst("\\[tr(?:=([\\(\\)%,#\\w]+))?\\]\\s*\\[td(?:=(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,4}%?))?)?\\]",tablereplacemessage);
	    }
	    p = Pattern.compile("\\[/td\\]\\s*\\[td(?:=(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,4}%?))?)?\\]");
	    m = p.matcher(tablemessage);
	    while(m.find()){
	    	colspan = m.group(1);
	    	rowspan = m.group(2);
	    	width = m.group(3);
	  	    colspan = Common.toDigit(colspan)>1?" colspan=\""+colspan+"\"":"";
	  	    rowspan = Common.toDigit(rowspan)>1?" rowspan=\""+rowspan+"\"":"";
	  	    width = Common.toDigit(width)>0?" width=\""+width+"\"":"";
	  	    String tablereplacemessage = "</td><td"+colspan+rowspan+width+">";
	  	    tablemessage = tablemessage.replaceFirst("\\[/td\\]\\s*\\[td(?:=(\\d{1,2}),(\\d{1,2})(?:,(\\d{1,4}%?))?)?\\]",tablereplacemessage);
	    }
	    tablemessage =  tablemessage.replaceAll("\\[/td\\]\\s*\\[/tr\\]", "</td></tr>");
	    relacemessage = relacemessage+tablemessage+"</table>";
	    message = message.replaceAll("(?s)\\[table(?:=(\\d{1,4}%?)(?:,([\\(\\)%,#\\w ]+))?)?\\]\\s*(.+?)\\s*\\[/table\\]", relacemessage);
	    return message;
	}
	public String inset(String message,Map<String, String> bbcodelist){
		message = message.replaceAll("\\[quote\\].*\\[/quote\\]", "");
		message = message.replaceAll("<[^<|^>]*>", "");
		message = message.replaceAll("(\\B|\\b)?\\[attach\\](\\B|\\b)?", "");
		message = message.replaceAll("(\\B|\\b)?\\[/attach\\](\\B|\\b)?", "");
		for (int i = 0; i < bbcode_str.length; i++) {
			message = message.replaceAll(bbcode_str[i], "");
		}
		for(int i=0;i<bbcode_speciald.length;i++){
			message = message.replaceAll(bbcode_speciald[i], "");
		}
		message = message.replaceAll("(\\B|\\b)?\\[media=(\\w+,\\d+,\\d+,\\d+)\\](\\B|\\b)?", "");
		message = message.replaceAll("(\\B|\\b)?\\[/media\\](\\B|\\b)?", "");
		if(bbcodelist!=null && !bbcodelist.keySet().isEmpty()){
			Iterator it = bbcodelist.keySet().iterator();
			while(it.hasNext()){
				Object key = it.next();
				String replement = bbcodelist.get(key);
				if(replement.indexOf("{2}")!=-1){
					if(message.indexOf("["+key)!=-1 && message.indexOf("[/"+key+"]")!=-1){
						message = message.replaceAll("(\\B|\\b)?\\["+key+"=(\\d+,\\d+)\\](\\B|\\b)?", "");
						message = message.replaceAll("(\\B|\\b)?\\[/"+key+"\\](\\B|\\b)?", "");
					}
				}else{
					if(message.indexOf("["+key+"]")!=-1 && message.indexOf("[/"+key+"]")!=-1){
						message = message.replaceAll("(\\B|\\b)?\\["+key+"\\](\\B|\\b)?", "");
						message = message.replaceAll("(\\B|\\b)?\\[/"+key+"\\](\\B|\\b)?", "");
					}
				}
			}
	}
	return message;
	}
	private  String dhtmlspecialchars(String value,boolean isbool){
		if(isbool){
			value = value.replaceAll("\\[", "codeleft");
			value = value.replaceAll("\\]", "coderight");
		}
		if(Common.matches(value, "(\"|<|>)")){
			value=value.replaceAll("\"", "&quot;");
			value=value.replaceAll("<", "&lt;");
			value=value.replaceAll(">", "&gt;");
		}
		return value;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -