📄 decodeubb.java
字号:
package com.jdon.jivejdon.manager.filter;
public class DecodeUBB {
private regexFilter imgFilter;
private regexFilter urlFilter;
private regexFilter url2Filter;
private regexFilter colorFilter;
private regexFilter fontFilter;
private regexFilter sizeFilter;
private regexFilter alignFilter;
private regexFilter quoteFilter;
private String ubbCode;
public DecodeUBB() {
String regex;
String rpStr;
//image
regex = "\\[img\\](.[^\\[]*)\\[\\/img\\]";
rpStr = "<IMG SRC=\"$1\" />";
imgFilter = new regexFilter(regex,rpStr);
//url
regex = "\\[URL\\](.[^\\[]*)\\[\\/URL\\]";
rpStr = "<A HREF=\"$1\" TARGET=_blank>$1</A>";
urlFilter = new regexFilter(regex,rpStr);
regex = "\\[URL=(.[^\\[]*)\\]";
rpStr = "<A HREF=\"$1\" TARGET=_blank>";
url2Filter = new regexFilter(regex,rpStr);
//font-color
regex = "\\[color=(.[^\\[]*)\\]";
rpStr = "<font color=\"$1\">";
colorFilter = new regexFilter(regex,rpStr);
//font-face
regex = "\\[font=(.[^\\[]*)\\]";
rpStr = "<font face=\"$1\">";
fontFilter = new regexFilter(regex,rpStr);
//font-size
regex = "\\[size=([1-7])\\]";
rpStr = "<font size=\"$1\">";
sizeFilter = new regexFilter(regex,rpStr);
//font-align
regex = "\\[align=(center|left|right)\\]";
rpStr = "<div align=\"$1\">";
alignFilter = new regexFilter(regex,rpStr);
//quote
regex = "\\[quote=(.[^\\[]*)\\]";
rpStr = "<div class=quote_title>引用\"$1\"的言论</div><div class=quote_div>";
quoteFilter = new regexFilter(regex,rpStr);
}
public String decode(String source)
{
ubbCode = source;
source = imgFilter.doFilter(source);
source = urlFilter.doFilter(source);
source = url2Filter.doFilter(source);
source = colorFilter.doFilter(source);
source = fontFilter.doFilter(source);
source = sizeFilter.doFilter(source);
source = alignFilter.doFilter(source);
source = quoteFilter.doFilter(source);
String[] searcharray= new String[]{"[/url]","[/email]","[/color]", "[/size]", "[/font]", "[/align]", "[b]", "[/b]","[i]", "[/i]", "[u]", "[/u]","[code]","[/code]","[/quote]"};
String[] replacearray= new String[]{"</a>","</a>","</font>", "</font>", "</font>", "</div>", "<b>", "</b>", "<i>","</i>", "<u>", "</u>", "<pre>","</pre>","</div>"};
for(int i=0;i<searcharray.length;i++)
{
source = source.replace(searcharray[i], replacearray[i]);
}
return source;
}
public String getUbbCode() {
return ubbCode;
}
public void setUbbCode(String ubbCode) {
this.ubbCode = ubbCode;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -