/**
* 字符串编码器类,将字符串转换为指定格式.<br>
* <br>
* 参数字典:<br>
* src - source 来源的简写<br>
* dst - destnation 目的的简写<br>
* fnd - find 查找的简写<br>
* rep - replace 替换的简写<br>
* idx - index 索引,下标的简写<br>
* enc - encoding 编码的简写<br>
* <br>
* 例子:<br>
* <%=ArticleFormat.htmlTextEncoder(yourString)%>
*/
public class StringEncoder
{
/**
* 将字符串src中的子字符串fnd全部替换为新子字符串rep.<br>
* 功能相当于java sdk 1.4的String.replaceAll方法.<br>
* 不同之处在于查找时不是使用正则表达式而是普通字符串.
*/
public static String replaceAll (String src , String fnd , String rep ) throws Exception
{
if (src = = null | | src . equals ( "" ) )
{
return "" ;
}
String dst = src ;
int idx = dst . indexOf (fnd ) ;
while (idx > = 0 )
{
dst = dst . substring ( 0 , idx ) + rep + dst . substring (idx + fnd . length ( ) , dst . length ( ) ) ;
idx = dst . indexOf (fnd , idx + rep . length ( ) ) ;
}
return dst ;
}
/**
* 转换为HTML编码.<br>
*/
public static String htmlEncoder (String src ) throws Exception
{
if (src = = null | | src . equals ( "" ) )
{
return "" ;
}
String dst = src ;
dst = replaceAll (dst , "<" , "<" ) ;
dst = replaceAll (dst , ">" , "&rt;" ) ;
dst = replaceAll (dst , "/"" , """ ) ;
dst = replaceAll (dst , "'" , "'" ) ;
dst = replaceAll (dst , " " , " " ) ;
dst = replaceAll (dst , "/r/n" , "<br>" ) ;
dst = replaceAll (dst , "/r" , "<br>" ) ;
dst = replaceAll (dst , "/n" , "<br>" ) ;
return dst ;
}
/**
* 转换为XML编码.<br>
*/
public static String xmlEncoder (String src ) throws Exception
{
if (src = = null | | src . equals ( "" ) )
{
return "" ;
}
String dst = src ;
dst = replaceAll (dst , "&" , "&" ) ;
dst = replaceAll (dst , "<" , "<" ) ;
dst = replaceAll (dst , ">" , ">" ) ;
dst = replaceAll (dst , "/"" , """ ) ;
dst = replaceAll (dst , "/'" , "´" ) ;
return dst ;
}
}
* 字符串编码器类,将字符串转换为指定格式.<br>
* <br>
* 参数字典:<br>
* src - source 来源的简写<br>
* dst - destnation 目的的简写<br>
* fnd - find 查找的简写<br>
* rep - replace 替换的简写<br>
* idx - index 索引,下标的简写<br>
* enc - encoding 编码的简写<br>
* <br>
* 例子:<br>
* <%=ArticleFormat.htmlTextEncoder(yourString)%>
*/
public class StringEncoder
{
/**
* 将字符串src中的子字符串fnd全部替换为新子字符串rep.<br>
* 功能相当于java sdk 1.4的String.replaceAll方法.<br>
* 不同之处在于查找时不是使用正则表达式而是普通字符串.
*/
public static String replaceAll (String src , String fnd , String rep ) throws Exception
{
if (src = = null | | src . equals ( "" ) )
{
return "" ;
}
String dst = src ;
int idx = dst . indexOf (fnd ) ;
while (idx > = 0 )
{
dst = dst . substring ( 0 , idx ) + rep + dst . substring (idx + fnd . length ( ) , dst . length ( ) ) ;
idx = dst . indexOf (fnd , idx + rep . length ( ) ) ;
}
return dst ;
}
/**
* 转换为HTML编码.<br>
*/
public static String htmlEncoder (String src ) throws Exception
{
if (src = = null | | src . equals ( "" ) )
{
return "" ;
}
String dst = src ;
dst = replaceAll (dst , "<" , "<" ) ;
dst = replaceAll (dst , ">" , "&rt;" ) ;
dst = replaceAll (dst , "/"" , """ ) ;
dst = replaceAll (dst , "'" , "'" ) ;
dst = replaceAll (dst , " " , " " ) ;
dst = replaceAll (dst , "/r/n" , "<br>" ) ;
dst = replaceAll (dst , "/r" , "<br>" ) ;
dst = replaceAll (dst , "/n" , "<br>" ) ;
return dst ;
}
/**
* 转换为XML编码.<br>
*/
public static String xmlEncoder (String src ) throws Exception
{
if (src = = null | | src . equals ( "" ) )
{
return "" ;
}
String dst = src ;
dst = replaceAll (dst , "&" , "&" ) ;
dst = replaceAll (dst , "<" , "<" ) ;
dst = replaceAll (dst , ">" , ">" ) ;
dst = replaceAll (dst , "/"" , """ ) ;
dst = replaceAll (dst , "/'" , "´" ) ;
return dst ;
}
}