⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 facefilter.java

📁 jsp+javabean写的论坛
💻 JAVA
字号:
package com.alumni.bean;
import java.util.regex.*;

public class FaceFilter
{
	//定义心情列表数组
	private String[] faceList;
	//定义要替换的心情图片列表数组
	private String[] faceImage;
	//定义数据源
	private String source;
	
	//构造器
	public FaceFilter()
	{
		//初始化数组
		int max=20;
		faceList=new String[max];
		faceImage=new String[max];
		
		//开始定义心情和将要替换的心情图片
		for(int i=0;i<max;i++)
		{
			if(i<10)
			{
				faceList[i]=":em0"+i;
				faceImage[i]="<img src=\"image/face/0"+i+".gif\">";
			}
			else
			{
				faceList[i]=":em"+i;
				faceImage[i]="<img src=\"image/face/"+i+".gif\">";
			}
		}
	}
	
	//运行
	public void run()
	{
		this.source=this.replaceNormalFace(this.source);
		this.source=this.replaceSpecialFace(this.source);
	}
	
	//核心替换方法
	private String replace(String input,String faceList,String faceImage)
	{
		Pattern p=Pattern.compile(faceList);
		Matcher m=p.matcher(input);
		StringBuffer sb=new StringBuffer();
		boolean result=m.find();
		while(result)
		{
			m.appendReplacement(sb,faceImage);
			result=m.find();
		}
		return m.appendTail(sb).toString();
	}
	
	//替换一般心情
	private String replaceNormalFace(String input)
	{
		String result=new String(input);
		for(int i=0;i<faceList.length;i++)
		{
			result=this.replace(result,this.faceList[i],this.faceImage[i]);
		}
		return result;
	}
	
	//替换特殊的表情
	private String replaceSpecialFace(String input)
	{
		String result=new String(input);
		result=this.replace(result,":P","<img src=\"image/face/04.gif\">");//:P
		result=this.replace(result,":O","<img src=\"image/face/03.gif\">");//:O
		result=this.replace(result,":S","<img src=\"image/face/07.gif\">");//:S
		result=this.replace(result,":\\)","<img src=\"image/face/00.gif\">");//:)
		result=this.replace(result,":\\(","<img src=\"image/face/18.gif\">");//:(
		result=this.replace(result,":D","<img src=\"image/face/01.gif\">");//:D
		result=this.replace(result,":\\|","<img src=\"image/face/17.gif\">");//:|
		result=this.replace(result,":Y","<img src=\"image/face/32.gif\">");//:Y
		result=this.replace(result,":N","<img src=\"image/face/33.gif\">");//:N
		result=this.replace(result,":\\[","<img src=\"image/face/31.gif\">");//:[
		
		return result;
	}
	
	//设定数据源
	public void setSource(String source)
	{
		this.source=source;
	}
	
	//获得运行结果
	public String getResult()
	{
		return this.source;
	}
}

⌨️ 快捷键说明

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