/*
 * Created on 2005-8-14
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package org.chapter2;

/**
 * @author Administrator
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class FilterString {
    public static String filter(String value) {
        if (value == null)
            return (null);

        StringBuffer result = new StringBuffer();
        for (int i = 0; i < value.length(); i++) {
            char ch = value.charAt(i);
            if (ch == '<')
                result.append("&lt;");
            else if (ch == '>')
                result.append("&gt;");
            else if (ch == '&')
                result.append("&amp;");
            else if (ch == '"')
                result.append("&quot;");
            else if (ch == '\r')
                result.append("<BR>");
            else if (ch == '\n') {
                if (i > 0 && value.charAt(i - 1) == '\r') {
                } else {
                    result.append("<BR>");
                }
            } else if (ch == '\t')
                result.append("&nbsp;&nbsp;&nbsp;&nbsp");
            else if (ch == ' ')
                result.append("&nbsp;");
            else
                result.append(ch);
        }
        return (result.toString());
    }

}
