webwork/src/main/webwork/util TextUtil.java,NONE,1.1
[email protected] Tue, 07 May 2002 18:39:17 -0700
| Newsgroups | gmane.comp.java.webwork.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/webwork/webwork/src/main/webwork/util In directory usw-pr-cvs1:/tmp/cvs-serv30997 Added Files: TextUtil.java Log Message: new --- NEW FILE: TextUtil.java --- /* * WebWork, Web Application Framework * * Distributable under Apache license. * See terms of license at opensource.org */ package webwork.util; import org.apache.log4j.Category; /** * <code>TextUtil</code> * * @author Matt Baldree ([email protected]) * @version $Revision: 1.1 $ */ public class TextUtil { private static final Category log = Category.getInstance(TextUtil.class); /** * Simple determination if string is escaped. It looks for * escape sequences like " ", etc. */ public static final boolean isEscaped(String s) { return ( s.indexOf(" ") != -1|| s.indexOf("<") != -1 || s.indexOf(">") != -1 || s.indexOf("&") != -1|| s.indexOf(""") != -1 || s.indexOf("à") != -1|| s.indexOf("À") != -1 || s.indexOf("â") != -1|| s.indexOf("Â") != -1 || s.indexOf("ä") != -1|| s.indexOf("Ä") != -1 || s.indexOf("å") != -1|| s.indexOf("Å") != -1 || s.indexOf("æ") != -1|| s.indexOf("Æ") != -1 || s.indexOf("ç") != -1|| s.indexOf("Ç") != -1 || s.indexOf("é") != -1|| s.indexOf("É") != -1 || s.indexOf("è") != -1|| s.indexOf("È") != -1 || s.indexOf("ê") != -1|| s.indexOf("Ê") != -1 || s.indexOf("ë") != -1|| s.indexOf("Ë") != -1 || s.indexOf("ï") != -1|| s.indexOf("Ï") != -1 || s.indexOf("ô") != -1|| s.indexOf("Ô") != -1 || s.indexOf("ø") != -1|| s.indexOf("Ø") != -1 || s.indexOf("ö") != -1|| s.indexOf("Ö") != -1 || s.indexOf("ß") != -1|| s.indexOf("ù") != -1 || s.indexOf("Ù") != -1|| s.indexOf("ü") != -1 || s.indexOf("Ü") != -1|| s.indexOf("®") != -1 || s.indexOf("©") != -1|| s.indexOf("€") != -1) ? true : false; } /** * Call escapeHTML(s, false, false, false) */ public static final String escapeHTML(String s) { return escapeHTML(s, false, false, false); } /** * Escape HTML. * * @param escapeWhitespace if true, then white space will * be escaped with otherwise, it will be ignored. * @param s string to be escaped * @param escapeEmpty if true, then empty string will be escaped. * @param escapeOuterQuotes if true, then outer quotes will be escaped. * */ public static final String escapeHTML(String s, boolean escapeEmpty, boolean escapeWhitespace, boolean escapeOuterQuotes) { if (!escapeEmpty && ("".equals(s.trim()) || ("\"\"").equals(s.trim()))) { return s; } StringBuffer sb = new StringBuffer(); char[] chars = s.toCharArray(); for (int i = 0; i < chars.length; i++) { char c = chars[i]; switch (c) { case '<': sb.append("<"); break; case '>': sb.append(">"); break; case '&': sb.append("&"); break; case '"': if (!escapeOuterQuotes && //string is quoted (chars[0]=='"' && chars[chars.length-1]=='"') && //this is the outer quote char (i==0 || i==chars.length-1)) { } else { sb.append("""); } break; case 'à': sb.append("à"); break; case 'À': sb.append("À"); break; case 'â': sb.append("â"); break; case 'Â': sb.append("Â"); break; case 'ä': sb.append("ä"); break; case 'Ä': sb.append("Ä"); break; case 'å': sb.append("å"); break; case 'Å': sb.append("Å"); break; case 'æ': sb.append("æ"); break; case 'Æ': sb.append("Æ"); break; case 'ç': sb.append("ç"); break; case 'Ç': sb.append("Ç"); break; case 'é': sb.append("é"); break; case 'É': sb.append("É"); break; case 'è': sb.append("è"); break; case 'È': sb.append("È"); break; case 'ê': sb.append("ê"); break; case 'Ê': sb.append("Ê"); break; case 'ë': sb.append("ë"); break; case 'Ë': sb.append("Ë"); break; case 'ï': sb.append("ï"); break; case 'Ï': sb.append("Ï"); break; case 'ô': sb.append("ô"); break; case 'Ô': sb.append("Ô"); break; case 'ö': sb.append("ö"); break; case 'Ö': sb.append("Ö"); break; case 'ø': sb.append("ø"); break; case 'Ø': sb.append("Ø"); break; case 'ß': sb.append("ß"); break; case 'ù': sb.append("ù"); break; case 'Ù': sb.append("Ù"); break; case 'û': sb.append("û"); break; case 'Û': sb.append("Û"); break; case 'ü': sb.append("ü"); break; case 'Ü': sb.append("Ü"); break; case '®': sb.append("®"); break; case '©': sb.append("©"); break; case '': sb.append("€"); break; // be carefull with this one (non-breaking whitee space) case ' ': if (escapeWhitespace) { sb.append(" "); } else { sb.append(c); } break; default: sb.append(c); break; } } return sb.toString(); } } _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [email protected]