[AS3]as3日期格式化以及htmlText的安全转义类
[AS3]as3日期格式化以及htmlText的安全转义类
- package org.juke{
- public class Tools {
- //时间格式化
- public static function fitInTime (second:Number, isShort:Boolean = false, millisecond:Boolean = false):String
- {
- return TimeTool.timeFormat (second, isShort, millisecond);
- }
- //特殊字符转义 HTML 格式
- public static function htmlspecialchars (text:String):String
- {
- return StringTool.htmlspecialchars (text);
- }
- }
- }
- /////////////////////////////////////////////////////
- //特殊字符转义 HTML 格式
- /////////////////////////////////////////////////////
- class StringTool
- {
- static function htmlspecialchars (string = null, quote_style = null)
- {
- // Convert special characters to HTML entities
- //
- // version: 812.3017
- // discuss at: http://phpjs.org/functions/htmlspecialchars
- // + original by: Mirek Slugen
- // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
- // + bugfixed by: Nathan
- // + bugfixed by: Arno
- // + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
- // - depends on: get_html_translation_table
- // * example 1: htmlspecialchars("<a href='test'>Test</a>", 'ENT_QUOTES');
- // * returns 1: '<a href='test'>Test</a>'
- var histogram = {}, symbol = '', tmp_str = '', entity = '';
- tmp_str = string.toString();
- if (false === (histogram = get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {
- return false;
- }
- for (symbol in histogram) {
- entity = histogram[symbol];
- tmp_strtmp_str = tmp_str.split(symbol).join(entity);
- }
- return tmp_str;
- }
- static function get_html_translation_table (table = null, quote_style = null)
- {
- // Returns the internal translation table used by htmlspecialchars and htmlentities
- //
- // version: 901.714
- // discuss at: http://phpjs.org/functions/get_html_translation_table
- // + original by: Philip Peterson
- // + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
- // + bugfixed by: noname
- // % note: It has been decided that we're not going to add global
- // % note: dependencies to php.js. Meaning the constants are not
- // % note: real constants, but strings instead. integers are also supported if someone
- // % note: chooses to create the constants themselves.
- // % note: Table from http://www.the-art-of-web.com/html/character-codes/
- // * example 1: get_html_translation_table('HTML_SPECIALCHARS');
- // * returns 1: {'"': '"', '&': '&', '<': '<', '>': '>'}
- var entities = {},histogram = {},decimal = 0,symbol = '';
- var constMappingTable = {},constMappingQuoteStyle = {};
- var useTable = {},useQuoteStyle = {};
- useTable = (table ? table.toUpperCase() : 'HTML_SPECIALCHARS');
- useQuoteStyle = (quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT');
- // Translate arguments
- constMappingTable[0] = 'HTML_SPECIALCHARS';
- constMappingTable[1] = 'HTML_ENTITIES';
- constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
- constMappingQuoteStyle[2] = 'ENT_COMPAT';
- constMappingQuoteStyle[3] = 'ENT_QUOTES';
- // Map numbers to strings for compatibilty with PHP constants
- if (! isNaN(useTable))
- {
- useTable = constMappingTable[useTable];
- }
- if (! isNaN(useQuoteStyle))
- {
- useQuoteStyle = constMappingQuoteStyle[useQuoteStyle];
- }
- if (useQuoteStyle != 'ENT_NOQUOTES')
- {
- entities['34'] = '"';
- }
- if (useQuoteStyle == 'ENT_QUOTES')
- {
- entities['39'] = ''';
- }
- if (useTable == 'HTML_SPECIALCHARS')
- {
- // ascii decimals for better compatibility
- entities['38'] = '&';
- entities['60'] = '<';
- entities['62'] = '>';
- }
- else if (useTable == 'HTML_ENTITIES')
- {
- // ascii decimals for better compatibility
- entities['38'] = '&';
- entities['60'] = '<';
- entities['62'] = '>';
- entities['160'] = ' ';
- entities['161'] = '¡';
- entities['162'] = '¢';
- entities['163'] = '£';
- entities['164'] = '¤';
- entities['165'] = '¥';
- entities['166'] = '¦';
- entities['167'] = '§';
- entities['168'] = '¨';
- entities['169'] = '©';
- entities['170'] = 'ª';
- entities['171'] = '«';
- entities['172'] = '¬';
- entities['173'] = '­';
- entities['174'] = '®';
- entities['175'] = '¯';
- entities['176'] = '°';
- entities['177'] = '±';
- entities['178'] = '²';
- entities['179'] = '³';
- entities['180'] = '´';
- entities['181'] = 'µ';
- entities['182'] = '¶';
- entities['183'] = '·';
- entities['184'] = '¸';
- entities['185'] = '¹';
- entities['186'] = 'º';
- entities['187'] = '»';
- entities['188'] = '¼';
- entities['189'] = '½';
- entities['190'] = '¾';
- entities['191'] = '¿';
- entities['192'] = 'À';
- entities['193'] = 'Á';
- entities['194'] = 'Â';
- entities['195'] = 'Ã';
- entities['196'] = 'Ä';
- entities['197'] = 'Å';
- entities['198'] = 'Æ';
- entities['199'] = 'Ç';
- entities['200'] = 'È';
- entities['201'] = 'É';
- entities['202'] = 'Ê';
- entities['203'] = 'Ë';
- entities['204'] = 'Ì';
- entities['205'] = 'Í';
- entities['206'] = 'Î';
- entities['207'] = 'Ï';
- entities['208'] = 'Ð';
- entities['209'] = 'Ñ';
- entities['210'] = 'Ò';
- entities['211'] = 'Ó';
- entities['212'] = 'Ô';
- entities['213'] = 'Õ';
- entities['214'] = 'Ö';
- entities['215'] = '×';
- entities['216'] = 'Ø';
- entities['217'] = 'Ù';
- entities['218'] = 'Ú';
- entities['219'] = 'Û';
- entities['220'] = 'Ü';
- entities['221'] = 'Ý';
- entities['222'] = 'Þ';
- entities['223'] = 'ß';
- entities['224'] = 'à';
- entities['225'] = 'á';
- entities['226'] = 'â';
- entities['227'] = 'ã';
- entities['228'] = 'ä';
- entities['229'] = 'å';
- entities['230'] = 'æ';
- entities['231'] = 'ç';
- entities['232'] = 'è';
- entities['233'] = 'é';
- entities['234'] = 'ê';
- entities['235'] = 'ë';
- entities['236'] = 'ì';
- entities['237'] = 'í';
- entities['238'] = 'î';
- entities['239'] = 'ï';
- entities['240'] = 'ð';
- entities['241'] = 'ñ';
- entities['242'] = 'ò';
- entities['243'] = 'ó';
- entities['244'] = 'ô';
- entities['245'] = 'õ';
- entities['246'] = 'ö';
- entities['247'] = '÷';
- entities['248'] = 'ø';
- entities['249'] = 'ù';
- entities['250'] = 'ú';
- entities['251'] = 'û';
- entities['252'] = 'ü';
- entities['253'] = 'ý';
- entities['254'] = 'þ';
- entities['255'] = 'ÿ';
- }
- else
- {
- throw Error("Table: " + useTable + ' not supported');
- return false;
- }
- // ascii decimals to real symbols
- for (decimal in entities)
- {
- symbol = String.fromCharCode(decimal);
- histogram[symbol] = entities[decimal];
- }
- return histogram;
- }
- }
- /////////////////////////////////////////////////////
- //时间格式化代码
- /////////////////////////////////////////////////////
- class TimeTool {
- static const JK_MINUTE:int = 60;
- static const JK_HOUR:int = 3600;
- static const JK_DAY:int = 86400;
- static var s_second:String;
- static var s_minute:String;
- static var s_hour:String;
- static var s_day:String;
- static function timeFormat (second:Number, isShort:Boolean, millisecond:Boolean):String
- {
- //based on PHP by Kele@Juke;
- //convert to AS3 by DDK2@Juke;
- if (isShort)
- {
- s_second = " s ";
- s_minute = " m ";
- s_hour = " h ";
- s_day = " d ";
- }
- else
- {
- s_second = " seconds ";
- s_minute = " minutes ";
- s_hour = " hours ";
- s_day = " days ";
- }
- if (millisecond) {
- second /= 1000;
- secondsecond = second >> 0;
- }
- if(second < JK_MINUTE){
- return String(second) + s_second;
- }
- if (second < JK_HOUR) {
- return String ((second / JK_MINUTE) >> 0) + s_minute;// + String (second % JK_MINUTE) + s_second;
- }
- if (second < JK_DAY) {
- //var over:int = second % JK_HOUR;
- return String ((second / JK_HOUR) >> 0) + s_hour;// + String((over/JK_MINUTE) >> 0) + s_minute +String (over % JK_MINUTE) + s_second;
- }
- //var overDay:int = second % JK_DAY;
- //var overHour:int = overDay % JK_HOUR;
- return String ((second / JK_DAY) >> 0) + s_day;// + String((overDay / JK_HOUR) >> 0) + s_hour + String ((overHour / JK_MINUTE) >> 0) + s_minute + String (overHour % JK_MINUTE) + s_second;
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...