1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 针对大于号gt; 小于号lt;等html代码 和 双引号 单引号'等java字符串的转义处理

针对大于号gt; 小于号lt;等html代码 和 双引号 单引号'等java字符串的转义处理

时间:2020-12-22 23:26:02

相关推荐

针对大于号gt; 小于号lt;等html代码 和 双引号 单引号'等java字符串的转义处理

Html特殊字符转义

我们都知道,在html中遇到>、<、空格等字符显示处理是会将其转为&gt;、&lt;、&nbsp;来展示使用,以便兼容和不影响既有页面的html代码里的成对标签的正常加载,与之相同的还有:

等等... ...

那么我们就会遇到如下业务场景,比如我们通过后台获取到的页面值为转义后&gt、&lt;等, 而实际我们需要是>和<,这是我们就需要通过一个Java的类做下转义处理。

//import org.springframework.web.util.HtmlUtils;String sourceStr = "&gt;&nbsp;&lt;";System.out.println("原始 sourceStr = " + sourceStr);//将转义后的html解析成原本的值String targetStr = HtmlUtils.htmlUnescape(sourceStr);System.out.println("目标 targetStr = " + targetStr );

输出结果:

原始 sourceStr = &gt;&nbsp;&lt;

目标 targetStr = ><

反过来我们也可以将这些特殊字符转以后返回给相应业务接口。

//import org.springframework.web.util.HtmlUtils;String sourceStr = "> <";System.out.println("原始 sourceStr = " + sourceStr);//将特殊字符进行转义处理String targetStr = HtmlUtils.htmlEscape(sourceStr);System.out.println("目标 targetStr = " + targetStr );

输出结果:

原始 sourceStr = &gt;&nbsp;&lt;

目标 targetStr = ><

Java特殊字符转义

同理,针对java的一些特殊字符串的转义处理与上面项目,区别在与所用的到类和方式为:StringEscapeUtils。

等等... ...

针对以上Java特殊字符的转义,我们通过下面的方法进行处理。

//import mons.lang.StringEscapeUtils;String sourceStr = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\":\\\'123456\\\'}";System.out.println("原始 sourceStr = " + sourceStr);String targetStr = StringEscapeUtils.unescapeJava(sourceStr);System.out.println("目标 targetStr = " + targetStr);

输出结果:

原始 targetStr = {\"name\":\"spy\",\"id\":'123456'}

目标 sourceStr = {"name":"spy","id":'123456'}

反过来我们也可以将这些特殊字符转以后返回给相应业务接口。

//import mons.lang.StringEscapeUtils;String sourceStr = "{\"name\":\"spy\",\"id\":\'123456\'}";System.out.println("原始 sourceStr = " + sourceStr);String targetStr = StringEscapeUtils.escapeJava(sourceStr);System.out.println("目标 targetStr = " + targetStr);

输出结果:

原始 sourceStr = {"name":"spy","id":'123456'}

目标 targetStr = {\"name\":\"spy\",\"id\":'123456'}

PS:当然我们也可以通过String.replace、replaceAll等进行手动处理。

写完这个笔记保存时发现,CSDN也不能正常保存标题中包含的<和>等特殊字符,转义后&gt;和&lt;有原样显示了,看,这就是应用场景!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。