encoder.java
来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 217 行
JAVA
217 行
/*
* Created on 2007-3-22
* Last modified on 2007-12-12
* Powered by YeQiangWei.com
*/
package com.yeqiangwei.club.view.util;
import com.yeqiangwei.util.StringHelper;
import com.yeqiangwei.util.Validator;
public class EnCoder {
public static void main(String args[]){
String content = "ddddddddd[quote=板砖 楼主说]前几天和一[/color]上很多人哎!” ........ [color=green] 本内容跟帖[color=red]复才[/b] [url=http://n[/quote]";
content = StringHelper.ubbPattern(content,"\\[quote=(.*?)\\](.*?)\\[/quote\\]","","");
System.out.println(content);
}
public static String codeColor(String str){
if(Validator.isEmpty(str)) return "";
str = StringHelper.replace(str, ""(.*?)"","<font style=color:#2A00FF;>"$1"</font>");
str = StringHelper.replace(str, "\\/\\*(.*?)\\*/","<font style=color:#3F7F5F;>/*$1*/</font>");
str = StringHelper.replace(str, "\\/\\/(.*?)\\<br/>","<font style=color:#3F7F5F;>//$1</font><br/>");
str = StringHelper.replace(str,"private ","<font style=\"color:#7F0055; font-weight: bold;\">private </font>");
str = StringHelper.replace(str,"protected ","<font style=\"color:#7F0055; font-weight: bold;\">protected </font>");
str = StringHelper.replace(str,"public ","<font style=\"color:#7F0055; font-weight: bold;\">public </font>");
str = StringHelper.replace(str,"static ","<font style=\"color:#7F0055; font-weight: bold;\">static </font>");
str = StringHelper.replace(str,"return ","<font style=\"color:#7F0055; font-weight: bold;\">return </font>");
str = StringHelper.replace(str,"try","<font style=\"color:#7F0055; font-weight: bold;\">try</font>");
str = StringHelper.replace(str,"catch","<font style=\"color:#7F0055; font-weight: bold;\">catch</font>");
str = StringHelper.replace(str,"finally","<font style=\"color:#7F0055; font-weight: bold;\">finally</font>");
str = StringHelper.replace(str,"package","<font style=\"color:#7F0055; font-weight: bold;\">package</font>");
str = StringHelper.replace(str,"null","<font style=\"color:#7F0055; font-weight: bold;\">null</font>");
str = StringHelper.replace(str,"short ","<font style=\"color:#7F0055; font-weight: bold;\">short </font>");
str = StringHelper.replace(str,"int ","<font style=\"color:#7F0055; font-weight: bold;\">int </font>");
str = StringHelper.replace(str,"double ","<font style=\"color:#7F0055; font-weight: bold;\">double </font>");
str = StringHelper.replace(str,"byte ","<font style=\"color:#7F0055; font-weight: bold;\">byte </font>");
str = StringHelper.replace(str,"long ","<font style=\"color:#7F0055; font-weight: bold;\">long </font>");
str = StringHelper.replace(str,"final ","<font style=\"color:#7F0055; font-weight: bold;\">final </font>");
str = StringHelper.replace(str,"new ","<font style=\"color:#7F0055; font-weight: bold;\">new </font>");
str = StringHelper.replace(str,"false","<font style=\"color:#7F0055; font-weight: bold;\">false</font>");
str = StringHelper.replace(str,"true","<font style=\"color:#7F0055; font-weight: bold;\">true</font>");
str = StringHelper.replace(str,"while\\(","<font style=\"color:#7F0055; font-weight: bold;\">while</font>(");
str = StringHelper.replace(str,"for\\(","<font style=\"color:#7F0055; font-weight: bold;\">for</font>(");
str = StringHelper.replace(str,"switch","<font style=\"color:#7F0055; font-weight: bold;\">switch</font>");
str = StringHelper.replace(str,"if\\(","<font style=\"color:#7F0055; font-weight: bold;\">if</font>(");
str = StringHelper.replace(str,"else","<font style=\"color:#7F0055; font-weight: bold;\">else</font>");
str = StringHelper.replace(str,"this\\.","<font style=\"color:#7F0055; font-weight: bold;\">this</font>.");
str = StringHelper.replace(str,"function\\(","<font style=\"color:#7F0055; font-weight: bold;\">function</font>(");
str = StringHelper.replace(str,"document.","<font style=\"color:#7F0055; font-weight: bold;\">document</font>.");
return str;
}
/*
public static String ubbColor(String str){
return ubbPattern(str, "\\[color=(.*?)\\](.*?)\\[/color\\]","<font color=\"$1\">$2</font>");
}
*/
public static String txtEncoder(String str){
str = StringHelper.replace(str, "$", "_yqw_");
str = StringHelper.replace(str, "\r", "");
str = StringHelper.replace(str, "\n", "\r\n");
str = StringHelper.replace(str, """, "\"");
str = ubbPattern(str, "\\[url\\](.*?)\\[/url\\]","$1");
str = ubbPattern(str, "\\[img\\](.*?)\\[/img\\]","$1");
str = ubbPattern(str, "\\[center\\](.*?)\\[/center\\]","$1");
str = ubbPattern(str, "\\[b\\](.*?)\\[/b\\]","$1");
str = ubbPattern(str, "\\[i\\](.*?)\\[/i\\]","$1");
str = ubbPattern(str, "\\[u\\](.*?)\\[/u\\]","$1");
str = ubbPattern(str,"\\[url=(.*?)\\](.*?)\\[/url\\]","$2\r\n$1");
str = ubbPattern(str,"\\[font=(.*?)\\](.*?)\\[/font\\]","$2");
str = ubbPattern(str,"\\[color=(.*?)\\](.*?)\\[/color\\]","$2");
str = StringHelper.replace(str, "[b]", "");
str = StringHelper.replace(str, "[i]", "");
str = StringHelper.replace(str, "[u]", "");
str = StringHelper.replace(str, "[center]", "");
str = StringHelper.replace(str, "[/b]", "");
str = StringHelper.replace(str, "[/i]", "");
str = StringHelper.replace(str, "[/u]", "");
str = StringHelper.replace(str, "[/center]", "");
str = ubbPattern(str, "\\[flash\\](.*?)\\[/flash\\]","<url>");
str = ubbPattern(str, "\\[swf\\](.*?)\\[/swf\\]","<url>");
str = ubbPattern(str, "\\[flash=*([\\d]*),*([\\d]*)\\](.*?)\\[/flash\\]","<url>");
str = ubbPattern(str, "\\[swf=*([\\d]*),*([\\d]*)\\](.*?)\\[/swf\\]","<url>");
str = ubbPattern(str, "\\[real\\](.*?)\\[/real\\]","<url>");
str = ubbPattern(str, "\\[real=*([\\d]*),*([\\d]*)\\](.*?)\\[/real\\]","<url>");
str = ubbPattern(str, "\\[real=*([\\d]*),*([\\d]*),(-1|0)\\](.*?)\\[/real\\]","<url>");
str = ubbPattern(str, "\\[video\\](.*?)\\[/video\\]","<url>");
str = ubbPattern(str, "\\[mp\\](.*?)\\[/mp\\]","<url>");
str = ubbPattern(str, "\\[video=*([\\d]*),*([\\d]*)\\](.*?)\\[/video\\]","<url>");
str = ubbPattern(str, "\\[video=*([\\d]*),*([\\d]*),*([\\d]*)\\](.*?)\\[/video\\]","<url>");
str = ubbPattern(str, "\\[music_songId\\](.*?)\\[/music_songId\\]","<url>");
str = ubbPattern(str, "\\[bt\\](.*?)\\[/bt\\]","$1");
str = ubbPattern(str, "\\[bt=(.*?)\\](.*?)\\[/bt\\]","$2");
str = ubbPattern(str,"\\[size=(.*?)\\](.*?)\\[/size\\]","$2");
str = ubbPattern(str,"\\[quote=(.*?)\\](.*?)\\[/quote\\]","引用内容:$2");
str = ubbPattern(str,"\\[quote\\](.*?)\\[/quote\\]","引用内容:$1");
str = ubbPattern(str, "\\[lrc\\](.*?)\\[/lrc\\]","$1");
str = ubbPattern(str, "\\[table\\](.*?)\\[/table\\]","$1");
str = ubbPattern(str, "\\[td\\](.*?)\\[/td\\]","$1");
str = ubbPattern(str, "\\[tr\\](.*?)\\[/tr\\]","$1");
str = ubbPattern(str, "\\[fly\\](.*?)\\[/fly\\]","$1");
str = ubbPattern(str, "\\[code\\](.*?)\\[/code\\]","$1");
str = StringHelper.replace(str, "_yqw_", "$");
return str;
}
public static String simpleTag(String str){
if(Validator.isEmpty(str)) return "";
str = ubbPattern(str, "\\[url\\](.*?)\\[/url\\]","<a href=\"$1\" target=\"_blank\">$1</a>");
//str = EnCoder.replaceTag(str, "url","<a href=\"$1\" target=\"_blank\">","</a>");
str = ubbPattern(str, "\\[url=(.*?)\\](.*?)\\[/url\\]","<a href=\"$1\" target=\"_blank\">$2</a>");
str = ubbPattern(str, "\\[img\\](.*?)\\[/img\\]","<a href=\"$1\" target=\"_blank\"><img onload=\"javascript:if(this.width > screen.width-350){this.width = screen.width-350};\" onerror=\"javascript:this.src='/club/images/imgErr.gif'\" src=\"$1\" /></a>");
str = ubbPattern(str,"\\[center\\](.*?)\\[/center\\]","<center>$1</center>");
//str = EnCoder.replaceTag(str, "center","","");
str = ubbPattern(str,"\\[b\\](.*?)\\[/b\\]","<strong>$1</strong>");
//str = EnCoder.replaceTag(str, "b","<strong>","</strong>");
str = ubbPattern(str,"\\[i\\](.*?)\\[/i\\]","<em>$1</em>");
//str = EnCoder.replaceTag(str, "i");
str = ubbPattern(str,"\\[u\\](.*?)\\[/u\\]","<font style=\"text-decoration:underline;\">$1</font>");
//str = EnCoder.replaceTag(str, "u");
str = ubbPattern(str,"\\[font=(.*?)\\](.*?)\\[/font\\]","$2");
str = ubbPattern(str,"\\[color=(.*?)\\](.*?)\\[/color\\]","<font style=\"color:$1\">$2</font>");
str = StringHelper.replace(str, "[b]", "");
str = StringHelper.replace(str, "[i]", "");
str = StringHelper.replace(str, "[u]", "");
str = StringHelper.replace(str, "[center]", "");
str = StringHelper.replace(str, "[/b]", "");
str = StringHelper.replace(str, "[/i]", "");
str = StringHelper.replace(str, "[/u]", "");
str = StringHelper.replace(str, "[/center]", "");
return str;
}
public static String ubbMedia(String str){
str = ubbPattern(str, "\\[flash\\](.*?)\\[/flash\\]","<script type=\"text/javascript\">EncodeString_flash(500,400,'$1');</script>");
str = ubbPattern(str, "\\[swf\\](.*?)\\[/swf\\]","<script type=\"text/javascript\">EncodeString_flash(500,400,'$1');</script>");
str = ubbPattern(str, "\\[flash=*([\\d]*),*([\\d]*)\\](.*?)\\[/flash\\]","<script type=\"text/javascript\">EncodeString_flash($1,$2,'$3');</script>");
str = ubbPattern(str, "\\[swf=*([\\d]*),*([\\d]*)\\](.*?)\\[/swf\\]","<script type=\"text/javascript\">EncodeString_flash($1,$2,'$3');</script>");
/** real palyer start */
str = ubbPattern(str, "\\[real\\](.*?)\\[/real\\]","<script type=\"text/javascript\">YeQiangWeiPlayer_real(450,350,-1,'$1');</script>");
str = ubbPattern(str, "\\[real=*([\\d]*),*([\\d]*)\\](.*?)\\[/real\\]","<script type=\"text/javascript\">YeQiangWeiPlayer_real($1,$2,-1,'$3');</script>");
str = ubbPattern(str, "\\[real=*([\\d]*),*([\\d]*),(-1|0)\\](.*?)\\[/real\\]","<script type=\"text/javascript\">YeQiangWeiPlayer_real($1,$2,$3,'$4');</script>");
/** real palyer end */
str = ubbPattern(str, "\\[video\\](.*?)\\[/video\\]","<script type=\"text/javascript\">YeQiangWeiPlayer_windows(450,350,1,'$1');</script>");
str = ubbPattern(str, "\\[mp\\](.*?)\\[/mp\\]","<script type=\"text/javascript\">YeQiangWeiPlayer_windows(380,65,1,'$1');</script>");
str = ubbPattern(str, "\\[video=*([\\d]*),*([\\d]*)\\](.*?)\\[/video\\]","<script type=\"text/javascript\">YeQiangWeiPlayer_windows($1,$2,1,'$3');</script>");
str = ubbPattern(str, "\\[video=*([\\d]*),*([\\d]*),*([\\d]*)\\](.*?)\\[/video\\]","<script type=\"text/javascript\">YeQiangWeiPlayer_windows($1,$2,$3,'$4');</script>");
str = ubbPattern(str, "\\[music_songId\\](.*?)\\[/music_songId\\]","<script type=\"text/javascript\" src=\"/music/ajax/play.jsp?songId=$1&act=player\"></script>");
return str;
}
public static String advancedTag(String str){
if(Validator.isEmpty(str)) return "";
/**
* 为了不合正则表达式关键字符冲突替换$为其他字符然后再最下面再替换回去.
*/
str = StringHelper.replace(str, "$", "_yqw_");
str = ubbPattern(str, "\\[bt\\](.*?)\\[/bt\\]","<a href=\"$1\" target=\"_blank\">$1</a>");
str = ubbPattern(str, "\\[bt=(.*?)\\](.*?)\\[/bt\\]","<a href=\"$1\" target=\"_blank\">$2</a>");
str = ubbPattern(str,"\\[size=(.*?)\\](.*?)\\[/size\\]","<font size=\"$1\">$2</font>");
str = ubbPattern(str,"\\[quote=(.*?)\\](.*?)\\[/quote\\]","<div class=\"quote\"><div class=\"tr\">$1</div>$2</div>");
str = ubbPattern(str,"\\[quote\\](.*?)\\[/quote\\]","<div class=\"quote\">$1</div>");
str = EnCoder.replaceTag(str, "lrc","<div class=\"lrc\">","</div>");
str = EnCoder.replaceTag(str, "table");
str = EnCoder.replaceTag(str, "td");
str = EnCoder.replaceTag(str, "tr");
str = EnCoder.replaceTag(str, "fly","<marquee scrollamount=\"5\" delay=\"1\" onmouseout='start()' onmouseover='stop()'>","</marquee>");
str = EnCoder.replaceTag(str, "code","<div class=\"quote\"><div class=\"tr\">代码</div>","</div>");
str = EnCoder.simpleTag(str);
//str = EnCoder.codeColor(str);
str = StringHelper.replace(str, "_yqw_", "$");
return str;
}
public static String ubbPattern(String str, String cp, String mc){
return StringHelper.ubbPattern(str,cp,mc,"");
}
public static String replaceTag(String str, String tag){
int s = StringHelper.indexOf(str, "["+tag+"]");
int e = StringHelper.lastIndexOf(str, "[/"+tag+"]");
if(s!=-1&&e!=-1&&e>s){
str = StringHelper.replace(str, "["+tag+"]", "<"+tag+">");
str = StringHelper.replace(str, "[/"+tag+"]", "</"+tag+">");
}else{
str = StringHelper.replace(str, "["+tag+"]", "");
str = StringHelper.replace(str, "[/"+tag+"]","");
}
return str;
}
public static String replaceTag(String str, String tag, String rep_s, String rep_e){
int s = StringHelper.indexOf(str, "["+tag+"]");
int e = StringHelper.lastIndexOf(str, "[/"+tag+"]");
if(s!=-1&&e!=-1&&e>s){
str = StringHelper.replace(str, "["+tag+"]", rep_s);
str = StringHelper.replace(str, "[/"+tag+"]",rep_e);
}else{
str = StringHelper.replace(str, "["+tag+"]", "");
str = StringHelper.replace(str, "[/"+tag+"]","");
}
return str;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?