codefilter.java

来自「BBS论坛设计JSP+MYSQL」· Java 代码 · 共 53 行

JAVA
53
字号
package com.bcxy.bbs.filter;

/**
 * Title:
 * Description:
 * Copyright:
 * Company: www.liyunet.com
 * 
 * @author lishujiang	
 * @version 1.0
 */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.bcxy.bbs.codeviewer.CodeViewer;

public class CodeFilter extends filter {

	public CodeFilter(String s) {
		super(s);
	}

	public CodeFilter() {

	}

	public String convertString() {
		return codeConverter();
	}

	public String codeConverter() {
		Pattern p;
		Matcher m;
		String codeBgcolor = "#e6e6e6";
		StringBuffer sb;
		boolean result;
		String reg = "(\\[code\\])(.[^\\[]*)(\\[\\/code\\])";
		p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
		m = p.matcher(s);
		sb = new StringBuffer();
		result = m.find();
		while (result) {
			m.appendReplacement(sb,
					"<table width='90%' border='1' cellspacing='0' cellpadding='2' bgcolor='"
							+ codeBgcolor + "' borderColorLight='black' ><td><b>以下内容为程序代码:</b><br>"
							+ (new CodeViewer()).syntaxHighlight(m.group(2)) + "</td></table>");
			result = m.find();
		}
		m.appendTail(sb);
		return sb.toString();
	}
}

⌨️ 快捷键说明

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