gshtml.java

来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 124 行

JAVA
124
字号
//package jp.co.sjts.gsession.tools;


import java.text.StringCharacterIterator;
import java.text.CharacterIterator;

/**
 * <p>HTML娭學偺僣乕儖  GSHtml.java
 * <p>Copyright (C) 1999-2000 Japan Total System Co,LTD
 *
 * @author   Satoru K   &lt;koni@sjts.co.jp&gt;
 */
public class GSHtml
{

	/**
	 * <p>form 偐傜庴偗庢偭偨儊僢僙乕僕傪html偱惓忢偵
	 * 昞帵偱偒傞暥帤楍偵曄姺偟傑偡丅
	 *
	 * @param  str     曄姺尦偺暥帤楍
	 * @return         曄姺嵪傒偺暥帤楍
	 */
	public static String transMsg(String str)
	{
		StringBuffer retSB = new StringBuffer();
		StringCharacterIterator stit= new StringCharacterIterator(str);

     	for(char c=stit.first();c!=CharacterIterator.DONE;c=stit.next())
     	{
			switch(c)
			{
			case '<':
				retSB.append("&lt;");
				break;
			case '>':
				retSB.append("&gt;");
				break;
			case '"':
				retSB.append("&quot;");
				break;
			case '\n':
				retSB.append("<BR>");
				break;
			case '\r':
				if(stit.next()!='\n'){
					stit.previous();
				}
				retSB.append("<BR>");
				break;
			default :
				retSB.append(c);
				break;
			}
		}
		return retSB.toString();
	}

	/**
	 * 堷悢偱傢偨偝傟偨暥帤楍拞偵儕僞乕儞僐乕僪偑偁傞帪
	 * 儕僞乕儞僐乕僪傪"<BR>"傊曄姺偟偨暥帤楍傪曉偡丅
	 *
	 * @param   msg       曄姺尦偺暥帤楍
	 * @return            曄姺嵪傒偺暥帤楍
	 */
	public static String ReturntoBR(String str)
	{
		StringBuffer retSB = new StringBuffer();
		StringCharacterIterator stit= new StringCharacterIterator(str);

     	for(char c=stit.first();c!=CharacterIterator.DONE;c=stit.next())
     	{
			switch(c)
			{
			case '\n':
				retSB.append("<BR>");
				break;
			case '\r':
				if(stit.next()!='\n'){
					stit.previous();
				}
				retSB.append("<BR>");
				break;
			default :
				retSB.append(c);
				break;
			}
		}
		return retSB.toString();
	}

	/**
	 * 堷悢偱傢偨偝傟偨暥帤楍拞偵"<BR>"偑偁傞帪
	 * <BR>傪crlf傊曄姺偟偨暥帤楍傪曉偡丅
	 *
	 * @param   str       曄姺尦偺暥帤楍
	 * @return            曄姺嵪傒偺暥帤楍
	 */
	public static String BRtoReturn(String msg)
	{
		int start,end;
		start=end=0;
		int length = msg.length();
		StringBuffer retSB = new StringBuffer();

		while(true)
		{
			end = msg.indexOf("<BR>",start);
			if(end == -1){
				retSB.append(msg.substring(start));
				break;
			}else{
				retSB.append(msg.substring(start,end));
				retSB.append("\r\n");
				start = end+4;
			}
			if(start+4>length){
				retSB.append(msg.substring(start));
				break;
			}
		}
		return retSB.toString();
	}
}

⌨️ 快捷键说明

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