📄 stringutils.java
字号:
package com.yhbbs.utils;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.codec.binary.Base64;
import com.yhbbs.user.biz.UserBiz;
/**
* <p>Title:字符串转换</p>
* <li>UBB代码,html及字符串的转换</li>
* <br><b>CopyRight: yyhweb[由由华网]</b>
* @author stephen
* @version YHBBS-2.0
*/
public class StringUtils {
/**
* @param ob ob对象
* @return 转换后的字符串
*/
public static String getString(Object ob){
return ob!=null?ob.toString():"";
}
/**
* @param request 当前请求
* @return 获取该请求IP
*/
public static String getIP(HttpServletRequest request){
String ip = request.getRemoteAddr();
return ip != null ? ip : "";
}
/**
* @param str 要分割的字符串
* @param sp 分割字符
* @return 分割后的字符数组
*/
public static String[] split(String str, String sp)
{
if(str == null || str.equals(""))
return new String[0];
else
return str.split(sp);
}
/**
* @param str 要转换的字符串
* @return 转换后的字符串
*/
public static String htmlEncode(String str) {
if (str == null) {
str = "";
return str;
}
str = str.trim(); //ȥ����β�ո�
//str = replace(str, "<", "<");
//str = replace(str, ">", ">");
str = replace(str, "\t", " ");
str = replace(str, "\r\n", "\n");
str = replace(str, "\n", "<br>");
str = replace(str, " ", " ");
//str = replace(str, "'", "'");
//str = replace(str, "\\", "/");
str = replace(str, "\"",""");
return str;
}
/**
* @param str 要转换的字符串
* @return 转换后的字符串
*/
public static String strEncode(String str) {
if (str == null) {
str = "";
return str;
}
str = str.trim(); //ȥ����β�ո�
str = replace(str, "<", "<");
str = replace(str, ">", ">");
str = replace(str, "\t", " ");
str = replace(str, "\r\n", "\n");
str = replace(str, "\n", "<br>");
str = replace(str, " ", " ");
str = replace(str, "'", "'");
str = replace(str, "\\", "/");
str = replace(str, "\"",""");
return str;
}
/**
* @param str 待加密字符串
* @return 转换后的字符串
*/
public static String encodeString(String str) {
try {
byte[] bt = str.getBytes("UTF-8");
byte[] enStr = new Base64().encode(bt);
return new String(enStr,"UTF-8");
}catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
/**
* @param str 待解密字符串
* @return 转换后的字符串
*/
public static String decodeString(String str){
try {
byte[] bt = str.getBytes("UTF-8");
byte[] deStr = null;
if(bt!=null && bt.length>0){
deStr = (new Base64()).decode(bt);
return new String(deStr,"UTF-8");
}
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
/**
* @param str 含有UBB代码的字符串
* @return 转换后的字符串
*/
public static String ubbEncode(String str){
str = replaceB(str);
str = replaceI(str);
str = replaceU(str);
str = replaceCen(str);
str = replaceFly(str);
str = replaceMove(str);
str = replaceF(str);
str = replaceS(str);
str = replaceC(str);
str = replaceURL(str);
str = replaceIMG(str);
str = replaceEMAIL(str);
str = replaceCode(str);
str = replaceQuote(str);
str = replaceFLASH(str);
str = replaceRM(str);
str = replaceMP(str);
str = replaceQQ(str);
str = replaceFILE(str);
return str;
}
// [B]转换为html
private static String replaceB(String str){
str = replace(str, "[B]", "<b>");
str = replace(str, "[/B]", "</b>");
return str;
}
// [I]转换为html
private static String replaceI(String str){
str = replace(str, "[I]", "<i>");
str = replace(str, "[/I]", "</i>");
return str;
}
// [U]转换为html
private static String replaceU(String str){
str = replace(str, "[U]", "<u>");
str = replace(str, "[/U]", "</u>");
return str;
}
// [center]转换为html
private static String replaceCen(String str){
str = replace(str, "[center]", "<div align=center>");
str = replace(str, "[/center]", "</div>");
return str;
}
// [fly]转换为html
private static String replaceFly(String str){
str = replace(str, "[fly]", "<marquee width=90% behavior=alternate scrollamount=3>");
str = replace(str, "[/fly]", "</marquee>");
return str;
}
// [move]转换为html
private static String replaceMove(String str){
str = replace(str, "[move]", "<marquee width=90% scrollamount=3>");
str = replace(str, "[/move]", "</marquee>");
return str;
}
// [code]转换为html
private static String replaceCode(String str){
str = replace(str, "[code]", "<b>代码:</b><div class='code'>");
str = replace(str, "[/code]", "</div>");
return str;
}
// [quote]转换为html
private static String replaceQuote(String str){
str = replace(str, "[quote]", "<b>引用:</b><div class='quote'>");
str = replace(str, "[/quote]", "</div>");
return str;
}
// [font]转换为html
private static String replaceF(String str){
int strHead = str.indexOf("[font=");
int strTail = str.indexOf("[/font]");
while((strHead!=-1) && (strTail!=-1)){
int strTailLength = strTail+7;
String temp = str.substring(strHead+6,strTail);
int strHeadRight = temp.indexOf("]");
String tempStr = temp.substring(0,strHeadRight);
String text = temp.substring(strHeadRight+1,temp.length());
str = str.substring(0,strHead)+"<font face=\""+tempStr+"\">"+text+"</font>"+str.substring(strTailLength,str.length());
strHead = str.indexOf("[font=",strTailLength);
strTail = str.indexOf("[/font]",strTailLength);
}
return str;
}
// [size]��转换为htmlִ�С
private static String replaceS(String str){
int strHead = str.indexOf("[size=");
int strTail = str.indexOf("[/size]");
while((strHead!=-1) && (strTail!=-1)){
int strTailLength = strTail+7;
String temp = str.substring(strHead+6,strTail);
int strHeadRight = temp.indexOf("]");
String tempStr = temp.substring(0,strHeadRight);
String text = temp.substring(strHeadRight+1,temp.length());
str = str.substring(0,strHead)+"<font size=\""+tempStr+"\">"+text+"</font>"+str.substring(strTailLength,str.length());
strHead = str.indexOf("[size=",strTailLength);
strTail = str.indexOf("[/size]",strTailLength);
}
return str;
}
// [color]转换为htmlִ�С
private static String replaceC(String str){
int strHead = str.indexOf("[color=");
int strTail = str.indexOf("[/color]");
while((strHead!=-1) && (strTail!=-1)){
int strTailLength = strTail+8;
String temp = str.substring(strHead+7,strTail);
int strHeadRight = temp.indexOf("]");
String tempStr = temp.substring(0,strHeadRight);
String text = temp.substring(strHeadRight+1,temp.length());
str = str.substring(0,strHead)+"<font color=\""+tempStr+"\">"+text+"</font>"+str.substring(strTailLength,str.length());
strHead = str.indexOf("[color=",strTailLength);
strTail = str.indexOf("[/color]",strTailLength);
}
return str;
}
// [url]转换为html
private static String replaceURL(String str){
int strHead = str.indexOf("[url=");
int strTail = str.indexOf("[/url]");
while((strHead!=-1) && (strTail!=-1)){
int strTailLength = strTail+6;
String temp = str.substring(strHead+5,strTail);
int strHeadRight = temp.indexOf("]");
String tempStr = temp.substring(0,strHeadRight);
String text = temp.substring(strHeadRight+1,temp.length());
str = str.substring(0,strHead)+"<a href='"+tempStr+"'>"+text+"</a>"+str.substring(strTailLength,str.length());
strHead = str.indexOf("[url=",strTailLength);
strTail = str.indexOf("[/url]",strTailLength);
}
return str;
}
// [img]转换为html
private static String replaceIMG(String str){
int strHead = str.indexOf("[img]");
int strTail = str.indexOf("[/img]");
while((strHead!=-1) && (strTail!=-1)){
int strTailLength = strTail+6;
String temp = str.substring(strHead+5,strTail);
//String text = temp.substring(strHead+5,temp.length());
str = str.substring(0,strHead)+"<img src='"+temp+"' />"+str.substring(strTailLength,str.length());
strHead = str.indexOf("[img]",strTailLength);
strTail = str.indexOf("[/img]",strTailLength);
}
return str;
}
// [email]转换为htmlַ
private static String replaceEMAIL(String str){
int strHead = str.indexOf("[email]");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -