日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

java替换html特殊字符,HTML特殊字符替换问题 html escape相关

發布時間:2024/9/15 HTML 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java替换html特殊字符,HTML特殊字符替换问题 html escape相关 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在處理網頁時經常會遇到這樣的問題,后臺得到的字符串數據包含網頁HTML中的特殊字符,例如在頁面上這樣一句話,“你好·世界”在后臺取到的是“你好·世界”。這是由于HTML對特殊字符進行了編碼。

今天在取得前臺form表單提交的數據時,就遇到了這樣的問題。頁面表單填的數據是正常的字符串“你好·世界”,傳到后臺以后卻把·這個字符進行了編碼,變成了·。

之前在做爬蟲時處理這種問題通常是進行簡單的替換,類似這樣

String?escaped?=?source.replace("

但是考慮到用戶進行表單提交可能有很多種情況的特殊字符,一一列舉各種特殊字符的情況再進行replace非常繁瑣。而這種字符串問題也很常見,應該有成熟的工具包可以對其進行處理。

google之后,果然沒讓我失望,這個工具就在apache的commons.lang包之中,是StringEscapeUtils工具類。

處理上述問題,只需要在后臺java代碼中進行如下處理即可。String?escaped?=?StringEscapeUtilssource.unescapeHtml(source);

escaped中的值就是正常的字符串“你好·世界”。

StringEscapeUtils中還提供了許多其他的方法,比如escapeCsv/unescapeCsv,escapeJava/unescapeJava,escapeJavaScript/unescapeJavaScript等等,類似escapeHtml/unescapeHtml,方便對字符串其他情況的處理。escapeHtml指的是將字符串進行編碼,unescapeHtml表示不編碼也就是顯示原始字符串。

真的要感謝造輪子的前人,使我們更方便地解決問題。我們也應該更充分得用好輪子,提高效率。有機會也去造輪子。也希望有一天隨著技術不斷發展,輪子已經完善到不需要用我們這種用輪子的人^_^

好吧,不瞎扯了,再說句相關的題外話,spring中也提供htmlEscape功能,可以用?和標簽;也可以在spring form的input標簽中添加屬性htmlEscape="false",完整方式如下

更詳細的請查閱spring相關文檔。

參考鏈接:

總結

以上是生活随笔為你收集整理的java替换html特殊字符,HTML特殊字符替换问题 html escape相关的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。