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

📄 stringutils.java

📁 Chinaxp 论坛源代码
💻 JAVA
字号:
/* * XP Forum * * Copyright (c) 2002-2003 RedSoft Group.  All rights reserved. * */package org.redsoft.forum.util;import java.text.SimpleDateFormat;import java.util.Date;/** * String processing utilities * * @author <a href="mailto:jwtronics@yahoo.com">John Wong</a> * * @version $Id: StringUtils.java,v 1.2 2004/02/26 03:05:37 mustang Exp $ */public final class StringUtils {	// constants used by escapeHTMLTags	private static final char[] QUOTE_ENCODE = "&quot;".toCharArray();	private static final char[] AMP_ENCODE = "&amp;".toCharArray();	private static final char[] LT_ENCODE = "&lt;".toCharArray();	private static final char[] GT_ENCODE = "&gt;".toCharArray();	private static final char[] APOS_ENCODE = "&apos;".toCharArray();	private static final char[] DOUBLT_QUOTE_ENCODE = "&quot;".toCharArray();	/**	 * This method takes a string which may contain HTML tags (ie, &lt;b&gt;,	 * &lt;table&gt;, etc) and converts the '&lt'' and '&gt;' characters to	 * their HTML escape sequences.	 *	 * @param in the text to be converted.	 * @return the input string with the characters '&lt;' and '&gt;' replaced	 *  with their HTML escape sequences.	 */	public static final String escapeHTMLTags(String in) {		if (in == null) {			return null;		}		char ch;		int i = 0;		int last = 0;		char[] input = in.toCharArray();		int len = input.length;		StringBuffer out = new StringBuffer((int) (len * 1.3));		for (; i < len; i++) {			ch = input[i];			if (ch > '>') {				continue;			} else if (ch == '<') {				if (i > last) {					out.append(input, last, i - last);				}				last = i + 1;				out.append(LT_ENCODE);			} else if (ch == '>') {				if (i > last) {					out.append(input, last, i - last);				}				last = i + 1;				out.append(GT_ENCODE);			}else if( ch== '"'){				if (i > last) {					out.append(input, last, i - last);				}				last = i + 1;				out.append(DOUBLT_QUOTE_ENCODE);			}		}		if (last == 0) {			return in;		}		if (i > last) {			out.append(input, last, i - last);		}		return out.toString();	}	/**	 * This method takes a string which may contain HTML tags (ie, &lt;b&gt;,	 * &lt;table&gt;, etc) and converts the '&lt'' and '&gt;' characters to	 * their HTML escape sequences.	 *	 * @param in the text to be converted.	 * @return the input string with the characters '&lt;' and '&gt;' replaced	 *  with their HTML escape sequences.	 */	public static final String escapeHTMLTagsButHref(String in) {		if (in == null) {			return null;		}		char ch;		int i = 0;		int last = 0;		char[] input = in.toCharArray();		int len = input.length;		boolean ahref = false;		boolean img = false;		StringBuffer out = new StringBuffer((int) (len * 1.3));		for (; i < len; i++) {			ch = input[i];			if( ahref ){				if( ch == '<' && input[ i+1 ] == '/' && input[i+2] == 'a' && input[ i+3 ] == '>' ){					i = i + 3;					ahref = false;				}else if(ch == '<') {						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append(LT_ENCODE);				}else if( ch== '"'){						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append(DOUBLT_QUOTE_ENCODE);				}			}else if( img ){				if( ch== '/' && input[ i+ 1 ] == '>' ){					i++;					img = false;				}else if(ch == '<') {						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append(LT_ENCODE);				}else if( ch== '"'){						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append(DOUBLT_QUOTE_ENCODE);				}			}else{				if( ch == '<' && input[ i + 1 ] == 'a' ){					ahref = true;				}else if( ch == '<' && input[i+1] == 'i' && input[i+2] == 'm' && input[i+3] == 'g'){					img = true;				}else{					if(ch == '<') {						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append(LT_ENCODE);					}else if (ch == '>') {						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append(GT_ENCODE);					}else if( ch== '"'){						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append(DOUBLT_QUOTE_ENCODE);					}else if( ch == '\n' ){						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append("<br>");					}else if( ch == ' ' ){						if (i > last) {							out.append(input, last, i - last);						}						last = i + 1;						out.append("&nbsp;");					}				}			}		}		if (last == 0) {			return in;		}		if (i > last) {			out.append(input, last, i - last);		}		return out.toString();	}	/**	 * If two String are equal	 */	public static boolean isEqual(String str1, String str2) {		if(str1 == null && str2 != null) return false;		if(str1.equals(str2)) return true;		return false;	}	public static String replaceNewLine( final String in ){		if (in == null) {				return null;			}			char ch;			char[] input = in.toCharArray();			int len = input.length;			final StringBuffer out = new StringBuffer((int) (len * 1.3));			for ( int index = 0; index < len; index++) {				ch = input[ index ];				if( ch == '\n' ){					out.append("<br>");				}else if( ch == ' ' ){					out.append("&nbsp;");				}else{					out.append( ch );				}			}			return out.toString();	}    private static String DATE_FORMAT = "yyyy.MM.dd";    private static SimpleDateFormat format = new SimpleDateFormat( DATE_FORMAT );    public static String formatTimeStamp( final long timestamp ){        return format.format( new Date( timestamp ) );    }}

⌨️ 快捷键说明

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