📄 downloadfilter.java
字号:
package com.bcxy.bbs.filter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.bcxy.db.JdbcWrapper;
public class DownloadFilter extends Filter {
JdbcWrapper jw = new JdbcWrapper();
public DownloadFilter(String s) {
super(s);
}
public DownloadFilter() {
}
public String convertString() {
return this.downloadConverter();
}
private String downloadConverter() {
Pattern p;
Matcher m;
StringBuffer sb;
boolean result;
String reg = "(\\[DOWNLOAD=(.[^\\[]*),(.[^\\[]*),(.[^\\[]*)\\])(.[^\\[]*)(\\[\\/DOWNLOAD\\])";
p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
m = p.matcher(s);
sb = new StringBuffer();
result = m.find();
while (result) {
int downCnt = 0;
try {
downCnt = jw.doIntSearch("select downcount from fileupload where name='"
+ m.group(2) + "'");
} catch (Exception e) {
downCnt = 0;
}
String ext = "unknow";
if("zip".equalsIgnoreCase(m.group(3))){
ext = "zip";
}else if("rar".equalsIgnoreCase(m.group(3))){
ext = "rar";
}else if("doc".equalsIgnoreCase(m.group(3))){
ext = "doc";
}else if("txt".equalsIgnoreCase(m.group(3))){
ext = "txt";
}
m.appendReplacement(sb, "<table border=0 cellpadding=4 cellspacing=0><tr><td><b>相关附件:</b><a href=\"file_download.jsp?filename="
+ m.group(2) + "\"><img border=0 src=\"images/icon/" + ext
+ ".gif\">" + m.group(5) + "</a>[文件大小:"
+ m.group(4) + " 字节] <img src=\"images/icon/down.gif\"> 下载次数:" + downCnt + " 次</td></tr></table>");
result = m.find();
}
m.appendTail(sb);
return sb.toString();
}
public static void main(String[] args) {
DownloadFilter ff = new DownloadFilter(
"[download=480360.zip,zip,1234566]线条3.swf[/download]");
System.out.print(ff.getFilterString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -