Re: [JSP ] 有處理xml特殊字元的方法嗎
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: 基本上,把 & 用 & 取代,這個方向是對的阿
: 你應該是操作 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
* 所以, 額外判斷只針對不是 由 & 開始 ; 結尾的內容做 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
→
12/20 19:25, , 1F
12/20 19:25, 1F
推
12/20 22:32, , 2F
12/20 22:32, 2F
→
12/20 22:54, , 3F
12/20 22:54, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):