/***************************************************** * フォーム入力値の変換 * Copyright(C) 2001 A-tak, Japan * * @since 2001.05.26 * @author A-tak * ****************************************************/ package net.dynodns.atak.web; import java.lang.String; /** * フォーム入力値変換クラス * フォームから受け取った値で"や'などの不適正な値を修正する * Copyright(C) 2001 A-tak, Japan * * @see * @version 1.0 * @since 2001.05.26 * @author A-tak */ public class StringReplace { public StringReplace(){ } /** * 特殊文字の変換 * フォームからの値をDB登録に適正な形に変換する * @param String value 変換元文字列 * @return String 処理結果 */ public String convInput(String value){ value = replacer(value, "\\", "\\\\"); value = replacer(value, "\'", "\\\'"); value = replacer(value, "\"", "\\\""); return value; } /** * 特殊文字の変換 * 与えられた文字列から@Aを探し@Bに置き換える * @param String value 文字列 * @param String target 検索文字 * @param String conv 置換文字列 * @return String 処理結果 */ private String replacer(String value, String target, String conv) { int newpos = 0; for (;;) { String front; //対象前方文字 String back; //対象後方文字 int pos = value.indexOf(target, newpos); //置換対象検索 if(pos==-1) break; front = value.substring(0,pos); //対象より前の文字を切り取り back = value.substring(pos + target.length()); //対象より後の文字を切り取り value = front + conv + back; //結合 newpos = pos + conv.length(); //検索カーソルを移動 } return value; } }