`

对HTML转码

    博客分类:
  • Java
阅读更多

使用java 对HTML代码进行转码

/**
	 * 去除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("&quot;");
					break;

				case '\'':
					sb.append("&apos;");
					break;

				case '&':
					sb.append("&amp;");
					break;

				case '<':
					sb.append("&lt;");
					break;

				case '>':
					sb.append("&gt;");
					break;

				default:
					sb.append(c);
					break;
				}
		}
		return sb.toString();
	}

 测试:

@Test
	public void test_escapeHTML(){
		String input="<script>";
		System.out.println(ValueWidget.escapeHTML(input));
	}

 运行结果:

&lt;script&gt;

 

对应的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(/&lt;/g,
                "\x3c").replace(/&gt;/g, "\x3e").replace(/&amp;/g, "\x26").replace(/&quot;/g, '"');
        },

 

 

 

0
0
分享到:
评论

相关推荐

    html转码工具类

    html转码工具类、方便、简洁、好用 “参数”.encodeHtml(); 转码 “参数”.decodeHtml(); 解码

    HTML 转码

    HTML转码是一个重要的Web开发概念,它涉及到将HTML实体或特殊字符转化为它们的等价Unicode字符,以便在网页上正确显示。在HTML中,有些字符如"、"&gt;"、"&"等有特殊的含义,如果不进行转码,它们可能会被浏览器解析为...

    js/html转码工具

    js/html转码工具

    Html.rar_html转码 c#

    本篇将深入探讨C#中的`HttpUtility`类以及如何进行HTML转码。 `HttpUtility.HtmlEncode`方法是C#中用于对HTML字符串进行转码的关键工具。它将特殊字符(如`、`&gt;`、`"`等)转换为它们的HTML实体,以防止这些字符被...

    音频转码工具(用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放).zip

    音频转码工具(用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放).zip 音频转码工具(用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放).zip 音频转码...

    新版PHP双码率视频云转码服务系统源码 m3u8切片秒切html5播放器 全开源

    新版PHP双码率视频云转码服务系统源码 m3u8切片秒切html5播放器 全开源 PHP双码率视频云转码服务系统源码 m3u8切片秒切 版本特点: 1、修正了双码率无法转码、切片问题,优化“秒切功能”。 2、修正了四个水印无法...

    txt乱码解决处理文本文件转码编码csv器gbk互转utf-8自动批量工具html,js,css,md,json,log,py

    HTML (.html, .htm) CSS (.css) 其他编程语言的源代码文件 配置文件 JSON (.json) YAML (.yaml, .yml) XML (.xml) INI (.ini) Properties (.properties) 脚本文件 Shell脚本 (.sh) 批处理文件 (.bat, .cmd) 标记语言...

    html转utf8转码器

    3. 重新编码:使用UTF-8编码对这些字符数据进行编码,生成新的HTML文件。 4. 保存:将转换后的HTML文件保存,同时更新文件头部的charset声明,通常设置为`&lt;meta charset="UTF-8"&gt;`,以确保浏览器正确解析。 这个...

    基于PHP的中文域名转码系统HTML5版源码.zip

    基于PHP的中文域名转码系统HTML5版源码.zip 基于PHP的中文域名转码系统HTML5版源码.zip 基于PHP的中文域名转码系统HTML5版源码.zip 基于PHP的中文域名转码系统HTML5版源码.zip 基于PHP的中文域名转码系统HTML5版源码...

    java 工具包 h264转码MP4 支持html5播放格式

    h264转码MP4 支持html5播放格式 示例代码: H264TrackImpl h264TrackImpl = new H264TrackImpl(new FileDataSourceImpl("C://a.264")); Movie movie = new Movie(); movie.addTrack(h264TrackImpl); Container ...

    基于PHP的中文域名转码系统HTML5版v1.2源码.zip

    基于PHP的中文域名转码系统HTML5版v1.2源码.zip 基于PHP的中文域名转码系统HTML5版v1.2源码.zip 基于PHP的中文域名转码系统HTML5版v1.2源码.zip 基于PHP的中文域名转码系统HTML5版v1.2源码.zip 基于PHP的中文域名...

    phpcms视频上传转码字段

    【PHPcms 视频上传与转码字段详解】 在PHPcms内容管理系统中,视频上传功能是网站媒体资源管理的重要组成部分,而视频转码字段则确保了上传的视频能在不同的设备和网络环境下流畅播放。本文将深入探讨PHPcms中的...

    易语言转码模块.zip

    例如,从网络获取的HTML文件可能采用UTF-8编码,而易语言可能默认使用GBK编码,这就需要转码操作来确保数据的正确解析。该转码模块提供了这样的功能,使得易语言程序能够灵活处理各种编码格式的数据,确保在读取、...

    模板转码专用工具

    "模板转码专用工具"就是这样一个专门针对编码转换的实用程序,它为用户提供了一种便捷的方式,将HTML(超文本标记语言)和XML(可扩展标记语言)文档从一种字符编码格式转换到另一种。这个工具对于那些处理多种编码...

    文件转码软件

    - 演示文稿转码:PowerPoint (.pptx) 可能需要转换为PDF 或HTML5,以便在网络上传播。 - 图片转码:JPEG、PNG、GIF等格式之间转换,或者优化图片大小和质量。 2. 技术原理: - 文件解析:软件读取源文件的内容,...

    微信转码源码.rar

    7. **配置文件**:项目的配置文件(如`project.config.json`)会定义小程序的元信息,如页面路径、图标、版本等,转码过程可能需要对这些信息进行处理。 学习和理解微信小程序转码源码,可以帮助开发者深入掌握微信...

    视频转码器xv——flv

    然而,随着HTML5的发展和Flash Player的逐步淘汰,FLV的重要性已不如从前。现在,更常见的格式有MP4、WebM和H.265编码的MKV等,它们提供了更好的画质和对现代浏览器的广泛支持。 视频转码的过程通常包括以下步骤: ...

    python操作ffmpeg对摄像头rtsp流进行自动转码-.pdf

    Python 操作 FFmpeg 对摄像头 RTSP 流进行自动转码 本文档旨在解决公司项目中遇到的问题,即将几个景点的监控摄像头在安卓机顶盒和 AVB 中间件机顶盒上做网络直播播放。为解决该问题,提出了使用中间服务器配置开源...

Global site tag (gtag.js) - Google Analytics