看板 java 關於我們 聯絡資訊
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 基本上,把 & 用 &amp; 取代,這個方向是對的阿 : 你應該是操作 String.replace 或是 String.replaceAll 的時候沒有控制好 : (尤其是你還有要處理 >, <, 空白這些東西) : 我以前自己寫過 method,沒有問題... [茶] : 後來,不知道為甚麼都沒遇到 [誤] : 只是現在的 JSP 應該都已經包含 EL 跟 JSTL : EL 我忘記會不會處理 & : 不過 JSTL 的 c:out 是絕對可以幫你處理這種東西的 : 以上 可以用這個 org.apache.commons.lang.StringEscapeUtils.escapeHtml(String str) ================================================================= 之前用 StringEscapeUtils 來做的功能 /* * 不直接使用 StringEscapeUtils 來 escape * 是因為有些內容會夾雜已經 escape 的 html entity * 所以, 額外判斷只針對不是 &nbsp; 由 & 開始 ; 結尾的內容做 escape . */ def func_escapeHtml(html){ if(!(html instanceof CharSequence)) return html; StringBuffer buf = new StringBuffer(); Pattern patt = Pattern.compile("(.*?)(&[^;]+?;)>*(.*)", Pattern.DOTALL); Matcher m = patt.matcher(html); boolean goesOn; while(goesOn = m.find()){ buf.append(StringEscapeUtils.escapeHtml(m.group(1))); buf.append(m.group(2)); html = html.substring(m.group(1).length() + m.group(2).length()); } buf.append(html); return buf.toString(); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.80.216
qrtt1:夭壽.. 差不多看不懂自己的 code 了 orz 12/20 19:25
Lordaeron:做張表去replace 就好了, 要搞得這麼麻煩嗎? 12/20 22:32
qrtt1:沒辦法啊, 我是愚人 12/20 22:54