分享一段对字符串进行HTML编码解码的代码
2009-03-06 12:25
337 查看
最近写了一段对字符串进行HTML编码解码的代码,用JAVASCRIPT写的,贴出来与大家分享一下
没有仔细对其进行测试,如果发现有BUG,请留贴
//type为0是对字符串进行HTML编码 Escape = function(str,type) { if(type==0) { var s = ""; if (str.length == 0) return ""; for (var i=0; i<str.length; i++) { switch (str.substr(i,1)) { case "<" : s += "<"; break; case ">" : s += ">"; break; case "&" : s += "&"; break; case " " : s += " "; break; case "/'" : s += "'"; break; case "/"" : s += """; break; case "/n" : s += "<br>"; break; case "//" : s += "////"; break; case "/r" : s += ""; break; default : s += str.substr(i,1); break; } } return s; } else { //先把<br>、// 替换 var restr = str.replace(/<br>/g,"/n").replace(//////g,"//"); var s = ""; if (restr.length == 0) return ""; var i=0; while(i<restr.length) { if(restr.substr(i,1)=="&") { //从第3位开始,到第5位,原因最短为 (<) ,最长是 ( ) for(var L = 3; L<6; L++) { if(restr.substr(i+L,1) == ";") { switch (restr.substr(i,L+1)) { case "<" : s += "<"; break; case ">" : s += ">"; break; case "&" : s += "&"; break; case " " : s += " "; break; case "'" : s += "/'"; break; case """ : s += "/""; break; default : s += ""; break; } i=i+L+1; break; } else { if(L==5) { s +=str.substr(i,L+1); i=i+6; } } } } else { s+=restr.substr(i,1) i++; } } return s; } }
没有仔细对其进行测试,如果发现有BUG,请留贴
相关文章推荐
- 一段对16进制字符串进行异或的代码
- 分享一段代码帮助进行调试
- 分享一段优雅的代码,测试编译通过。摘自《设计模式沉思录》,稍作修改,否则编译不过
- 代码分享:php对二维数组进行排序
- 用Timer进行延迟的代码,例如从欢迎界面进入主界面会有一段延迟时间。
- 在字符串指定位置插入一段字符串的php代码
- Android自带分享和应用市场(进行软件评分)启动代码
- 分享一段通过前端javascript脚本 启用/禁用超链接的代码
- 分享一段php获取linux服务器状态的代码
- js正则实现从一段复杂html代码字符串中匹配并处理特定信息
- 已知:yi er san si wu liu qi ba jiu 分别对应 123456789,对一段只含 有这几种字符的字符串进行转换,转换成相应的数字
- 分享一段ios数据库代码。包括创建、升级、增删查改。
- 再贴一段代码(字符串处理的仿函子)
- java面试题之请给出一段代码描述字符串写入文件
- 一周乱弹(1,HttpReques 获取请求地址2,去掉字符串中首尾空格及换行符、回车符等3,计算代码运行时间4,StringEscapeUtils对字符串进行各种转义与反转义5,分表查询记录总数)
- java编程进行动态编译加载代码分享
- 用Alamofire进行网络请求的一段代码解析(一)
- 随手在网上找了一段将字节数组转换为十六进制字符串的代码,结果被坑惨了
- 面试题:请给出一段代码描述字符串写入文件
- (1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”); (2)编写单元测试进行测试; (3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。