Java-html程式碼和特殊字元轉義
1. 特殊字元轉義
適用場景:向前臺傳遞json資料時,由於傳遞的字串中含有特殊字元,需要轉義之後返回給前臺
public static String specialCharConvert(String orginalStr) {
if(!isEmpty(orginalStr)) {
StringBuffer sb = new StringBuffer();
char tmpc = 'a';
for (int i = 0; i < orginalStr.length(); i++) {
tmpc = orginalStr.charAt(i);
switch (tmpc) {
case '\"':
sb.append("\\\"");
break;
case '\\': // 如果不處理單引號,可以釋放此段程式碼,若結合下面的方法處理單引號就必須註釋掉該段程式碼
sb.append("\\\\");
break;
case '/':
sb.append("\\/");
break;
case '\b': // 退格
sb.append("\\b");
break;
case '\f': // 走紙換頁
sb.append("\\f");
break;
case '\n':
sb.append("\\n");// 換行
break;
case '\r': // 回車
sb.append("\\r");
break;
case '\t': // 橫向跳格
sb.append("\\t");
break;
default:
sb.append(tmpc);
}
}
return sb.toString();
} else {
return "";
}
}
2. html程式碼轉義
適用場景:向前臺傳遞的資料含有html程式碼,需要轉義展示
public static String stringToHTMLString(String string) {
StringBuffer sb = new StringBuffer(string.length());
// true if last char was blank
boolean lastWasBlankChar = false;
int len = string.length();
char c;
for (int i = 0; i < len; i++)
{
c = string.charAt(i);
if (c == ' ') {
// blank gets extra work,
// this solves the problem you get if you replace all
// blanks with , if you do that you loss
// word breaking
if (lastWasBlankChar) {
lastWasBlankChar = false;
sb.append(" ");
}
else {
lastWasBlankChar = true;
sb.append(' ');
}
}
else {
lastWasBlankChar = false;
//
// HTML Special Chars
if (c == '"')
sb.append(""");
else if (c == '&')
sb.append("&");
else if (c == '<')
sb.append("<");
else if (c == '>')
sb.append(">");
else if (c == '\n')
// Handle Newline
sb.append("<br/>");
else {
int ci = 0xffff & c;
if (ci < 160 )
// nothing special only 7 Bit
sb.append(c);
else {
// Not 7 Bit use the unicode system
sb.append("&#");
sb.append(new Integer(ci).toString());
sb.append(';');
}
}
}
}
return sb.toString();
}
可以使用spring自帶的HtmlUtils或者Apache的StringEscapeUtils轉義。
相關推薦
Java-html程式碼和特殊字元轉義
1. 特殊字元轉義 適用場景:向前臺傳遞json資料時,由於傳遞的字串中含有特殊字元,需要轉義之後返回給前臺 public static String specialCharConvert(String orginalStr) {if(!isEmpty(orginalStr
jQuery中將特殊字元轉義成html標籤和反轉
在專案中新增富文字編輯器時,發現了儲存的資料最終顯示時是以 這種方式顯示 我再去控制檯輸出顯示下資料發現是已經將字元轉義成特殊字元了 哈哈哈哈哈哈<div>啦啦啦啦啦</div> 所以此資料放入div中時html不能解析為
[Java工具類]spring常用工具類 2.特殊字元轉義和方法入參檢測工具類
特殊字元轉義 由於 Web 應用程式需要聯合使用到多種語言,每種語言都包含一些特殊的字元,對於動態語言或標籤式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字元轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字元型別: HTML 特
Java處理正則表示式特殊字元轉義
正則需要轉義字元:'$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|' 異常現象: java.util.regex.PatternSyntaxException: Dangling
Java String字串和Unicode字元相互轉換程式碼(包括混有普通字元的Unicode)
package util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * * <p>Title: String 與 Unicode 互相轉換的工具類</p> * <p>
js html 特殊字元轉義
function html_encode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, "&"); s = s.
[HTTP]_[C/C++]_[HTML特殊字元轉義成正常字元]
場景: 1.在沒有HTML庫時(誰有好的html庫介紹下,C/C++的?tinyXML?),以SAX方式解析HTML時,會讀入特殊字元,這時候需要轉義成正常字元才能使用。 2.耗時,4-6小時(被打擾)。 3.replace雖然挺好,但是會迴圈整個字串執行替換,效率應該沒
java處理SQL特殊字元轉義 防止sql注入
SQL特殊字元轉義 應 該說,您即使沒有處理 HTML 或 JavaScript 的特殊字元,也不會帶來災難性的後果,但是如果不在動態構造 SQL 語句時對變數中特殊字元進行處理,將可能導致程式漏洞、資料盜取、資料破壞等嚴重的安全問題。網路中有大量講解 SQL 注入的文
Java 檔案下載 csv檔案匯出特殊字元轉義
需求描述 將從資料庫查出的資料以生成csv檔案的方式下載下來(匯出)。 實現方案 最開始的方法是: 將從資料庫中查出的資料拼成符合csv檔案格式的字串,然後將字串轉為輸入流,最後返回InputStreamResource,達到下載的目的。下邊是實現的
Spring 的優秀工具類盤點,第 2 部分: 特殊字元轉義和方法入參檢測工具類
特殊字元轉義 由於 Web 應用程式需要聯合使用到多種語言,每種語言都包含一些特殊的字元,對於動態語言或標籤式的語言而言,如果需要動態構造語言的內容時,一個我們經常會碰到的問題就是特殊字元轉義的問題。下面是 Web 開發者最常面對需要轉義的特殊字元型別: HTML 特
Java特殊字元轉義(、"、/、&)
public static String filter(String value) { if(value == null){ return null;
oracle & 和 ' 特殊字元處理 ( like 'GAC/&_%' escape '&'; 這裡面的 / 居然將& 轉義了 為什麼?)
今天在匯入一批資料到Oracle時,碰到了一個問題:Toad提示(plsql 也一樣)要給一個自定義變數AMP賦值,一開始我很納悶,資料是一系列的Insert語句,怎麼會有自定義變數呢?後來搜尋了一下關鍵字AMP發現,原來是因為在插入資料中有一個欄位的內容如下: Orac
設定editText密碼可見性和特殊字元過濾
此方法中的過濾規則可以根據需求自定義,此方法還可以用於其它型別輸入檢測 private static boolean checkLegalCharacters(String name, boolean isPasswd) { Pattern
xml檔案中特殊字元轉義
在使用mybatis/ibatis寫sql時總是忘記特殊轉義表示,在此記錄 左邊為xml特殊符號,右邊是轉義 < <> >& &
面試題:一個字串包含英文和特殊字元,特殊字元不變,英文順序反過來,比如string str="[email
public class Reverse { public static void main(String[] args) { String str = "[email protected]!tk"; char[] chars = str.toCh
php 特殊字元轉義,實現字串安全存入資料庫
php 特殊字元轉義,實現字串安全存入資料庫 <?php /** * php 特殊字元轉義,實現字串安全存入資料庫 * * @param [type] $content [description] * @return [type] [description
Android資原始檔strings實現特殊字元轉義
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post"
js特殊字元轉義
/** * 特殊字元轉義 防止XSS攻擊 用於特殊字元正常顯示 * @param text * @constructor */ function StringFilter(str) { var s = ""; if (str.length === 0) { return ""
Mybatis特殊字元轉義
<![CDATA[ ]]> XML檔案會在解析XML時將5種特殊字元進行轉義,分別是&, <, >, “, ‘, 我們不希望語法被轉義,就需要進行特別處理。 有兩種解決方法:其一,使用<![CDATA[ ]]>標籤來包
CSS 選擇器中的特殊字元轉義
function escapeJquery(srcString) { // 轉義之後的結果 var escapseResult = srcString; // javascript正則表示式中的特殊字元 va