public static string Safe( string ip )
{
if ( ip == null )
return "null";
ip = ip.Trim();
if ( ip.Length == 0 )
return "empty";
bool isSafe = true;
for ( int i = 0; isSafe && i < m_NotSafe.Length; ++i )
isSafe = ( ip.IndexOf( m_NotSafe[i] ) == -1 );
if ( isSafe )
return ip;
System.Text.StringBuilder sb = new System.Text.StringBuilder( ip );
for ( int i = 0; i < m_NotSafe.Length; ++i )
sb.Replace( m_NotSafe[i], '_' );
return sb.ToString();
}