相信大家一定可以想到UBB代码的解析,其实就是将“[b][/b]”这样的格式转换成““”就可以了,但是怎么转换呢?答案是用正则表达式。利用上一期讲到的正则表达式类(sony.utils.Regex)中的eregi_replace替换方法,可以很轻松地做到。下面是一段示例。
String s="[b]这是粗体[/b]";
String result;
result = Regex.eregi_replace("[b](.+?)[/b]","“$1“", s);
System.out.println(result);
//打印结果是:
//“这是粗体“。
这么简单吗?是的,我们只需要将其它的UBB Tag作类似的替换就实现了UBB代码的解析了。
下面给出一个UBB类.
/***************************UbbCode.java****************************************/
import java.util.regex.Matcher; //导入所需要的类
import java.util.regex.Pattern;
public class UbbCode //类定义
{
private String source; //待转化的HTML代码字符串
private String ubbTags[]; //UBB标记数组
private String htmlTags[]; //HTML标记数组
//初始化,分别为UBB标记数组和HTML标记数组赋值
public UbbCode()
{
byte byte0 = 74;
source = new String();
ubbTags = new String[byte0];
htmlTags = new String[byte0];
ubbTags[0] = "[b]";
htmlTags[0] = "<b>";
ubbTags[1] = "[/b]";
htmlTags[1] = "</b>";
ubbTags[2] = "[i]";
htmlTags[2] = "<em>";
ubbTags[3] = "[/i]";
htmlTags[3] = "</em>";
ubbTags[4] = "[quote]";
htmlTags[4] = "<div style=\"border-style:dashed;background-color:#CCCCCC;border-width:thin;border-color:#999999\"><br><em>";
ubbTags[5] = "[/quote]";
htmlTags[5] = "</em><br><br></div>";
ubbTags[6] = "[/size]";
Tags: UBB
package order.bean.ubb;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Util {
public static String clearHtmlTag(String s, int much) {
try {
Matcher m = null;
m = Pattern.compile("<([^>]*)>", Pattern.DOTALL).matcher(s);
while (m.find()) {
for (int i = 1; i <= m.groupCount(); i++) {
System.out.println("找到 = " + m.group());
s = s.replaceAll(m.group(), "");
}
}
.
后台按分类查看该分类下的日志,可按发表时间,评论,查看次数,引用升降排序.
单个,批量删除及移动日志..
因为编辑前台就有此功能了,所以后台在列表中点标题可以直接查看该日志,点编辑新窗口到前台编辑该日志..其他的大家自己看吧..呵呵...