对HTML转码
教程管理员 发布于2023-09-27 07:06 HTML教程 125
简介:
使用Java 对HTML代码进行转码
Java代码- /**
- * 去除HTML字串中的控制字符及不可视字符
- *
- * @param str
- * HTML字串
- * @return 返回的字串
- */
- public static String escapeHTML(String str) {
- int length = str.length();
- int newLength = length;
- boolean someCharacterEscaped = false;
- for (int i = 0; i < length; i++) {
- char c = str.charAt(i);
- int cint = 0xffff & c;
- if (cint < 32)
- switch (c) {
- case 11:
- default:
- newLength--;
- someCharacterEscaped = true;
- break;
- case '\t':
- case '\n':
- case '\f':
- case '\r':
- break;
- }
- else
- switch (c) {
- case '"':
- newLength += 5;
- someCharacterEscaped = true;
- break;
- case '&':
- case '\'':
- newLength += 4;
- someCharacterEscaped = true;
- break;
- case '<':
- case '>':
- newLength += 3;
- someCharacterEscaped = true;
- break;
- }
- }
- if (!someCharacterEscaped)
- return str;
- StringBuffer sb = new StringBuffer(newLength);
- for (int i = 0; i < length; i++) {
- char c = str.charAt(i);
- int cint = 0xffff & c;
- if (cint < 32)
- switch (c) {
- case '\t':
- case '\n':
- case '\f':
- case '\r':
- sb.append(c);
- break;
- }
- else
- switch (c) {
- case '"':
- sb.append(""");
- break;
- case '\'':
- sb.append("'");
- break;
- case '&':
- sb.append("&");
- break;
- case '<':
- sb.append("<");
- break;
- case '>':
- sb.append(">");
- break;
- default:
- sb.append(c);
- break;
- }
- }
- return sb.toString();
- }
测试:
Java代码- @Test
- public void test_escapeHTML(){
- String input="<script>";
- System.out.println(ValueWidget.escapeHTML(input));
- }
运行结果:
<script>
对应的js方法:
Js代码- escape: function (a) {
- a = a ? a : '';
- return a.replace(/</g, "\x26lt;").replace(/>/g, "\x26gt;").replace("/\x26/g", "\x26amp;").replace(/"/g, "\x26quot;");
- },
- unescape: function (a) {
- a = a ? a : '';
- return a.replace(/</g,
- "\x3c").replace(/>/g, "\x3e").replace(/&/g, "\x26").replace(/"/g, '"');
- },
- 上一篇:HTML的div标记为何设置背景色无效?
- 下一篇:HTML的常用标签
相关推荐
- 10-04 在HTML中取得请求中的参数
- 10-04 SharePoint 2013 母版页取消和HTML页关联
- 10-04 29行代码使用HTML5 Canvas API绘制一颗红心
- 10-04 浏览器加载和渲染html的顺序,Div和Table的区别
- 10-04 《HTML5完美游戏开发》——2.6 Processing.js实例和整合
- 10-04 如何关闭Struts2的webconsole.html
- 10-04 《HTML5 开发实例大全》——1.4 使用CSS修饰HTML 5页面
- 10-04 《HTML5游戏编程核心技术与实战》——2.8 小结
- 10-04 腾讯视频生成的Html代码
- 10-04 ie下tbody的innerhtml属性只读
- 控制面板
- 友情链接
- 最近发表
-
- 涂鸦而不乱简约艺术主题Office PPT免费模板背景素材下载
- 有创意的情人表白动态贺卡Office PPT免费模板背景素材下载
- 绿色简约技能竞赛电力Office PPT免费模板背景素材下载
- 极简几何商务蓝年终总结汇报Office PPT免费模板背景素材下载
- 蓝橙简约商务年终总结汇报Office PPT免费模板背景素材下载
- 绿色清新教育风课堂教学通用Office PPT免费模板背景素材下载
- 潮流复古艺术感年终总结Office PPT免费模板背景素材下载
- 浅绿商务风工作总结报告Office PPT免费模板背景素材下载
- 大气简约时尚年终总结汇报Office PPT免费模板背景素材下载
- 喜庆春节风公司年终誓师表彰大会Office PPT免费模板背景素材下载
- 最新留言
-