看板 Web_Design 關於我們 聯絡資訊
※ 引述《boy777 (missing each other)》之銘言: : http://www.htaccesseditor.com/tc.shtml : 想做出類似這樣的網站 : 使用者輸入資料 之後另存為新的HTML檔 : 但是字串中包含了大量的""和斷行 : 我知道"要再前方加入倒斜線即可 但是斷行該如何是好 : 只要遇到斷行 就無法順利輸出文字 : 求救@@ 謝謝大家 取自 commons-lang StringEscapeUtils http://commons.apache.org/downloads/download_lang.cgi 雖然這是 java code 不過你改 下差不多就能用了 ================================================================== private static void escapeJavaStyleString(Writer out, String str, boolean escapeSingleQuote) throws IOException { if (out == null) { throw new IllegalArgumentException("The Writer must not be null"); } if (str == null) { return; } int sz; sz = str.length(); for (int i = 0; i < sz; i++) { char ch = str.charAt(i); // handle unicode if (ch > 0xfff) { out.write("\\u" + hex(ch)); } else if (ch > 0xff) { out.write("\\u0" + hex(ch)); } else if (ch > 0x7f) { out.write("\\u00" + hex(ch)); } else if (ch < 32) { switch (ch) { case '\b': out.write('\\'); out.write('b'); break; case '\n': out.write('\\'); out.write('n'); break; case '\t': out.write('\\'); out.write('t'); break; case '\f': out.write('\\'); out.write('f'); break; case '\r': out.write('\\'); out.write('r'); break; default : if (ch > 0xf) { out.write("\\u00" + hex(ch)); } else { out.write("\\u000" + hex(ch)); } break; } } else { switch (ch) { case '\'': if (escapeSingleQuote) { out.write('\\'); } out.write('\''); break; case '"': out.write('\\'); out.write('"'); break; case '\\': out.write('\\'); out.write('\\'); break; default : out.write(ch); break; } } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.49.182
boy777:謝謝 這個我得看很久~~ 10/07 20:34