1. /*  
  2.  * vim 表情替换处理  
  3.  * author tangw 
  4.  */ 
  5.  
  6. //表情的基本数据  
  7. var  FaceData =function(){  
  8.     var data =  
  9.     [  
  10.     ["微笑",":)","wx","0.gif"],  
  11.     ["撇嘴",":~","pz","1.gif"],  
  12.     ["色",":*","se","2.gif"],  
  13.     ["发呆",":|","fd","3.gif"],  
  14.     ["得意","8-)","dy","4.gif"],  
  15.     ["流泪",":<","ll","5.gif"],  
  16.     ["害羞",":$","hx","6.gif"],  
  17.     ["闭嘴",":X","bz","7.gif"],  
  18.     ["睡",":Z","shui","8.gif"],  
  19.     ["大哭",":'(","dk","9.gif"],  
  20.     ["尴尬",":-|","gg","10.gif"],  
  21.     ["发怒",":@","fn","11.gif"],  
  22.     ["调皮",":P","tp","12.gif"],  
  23.     ["呲牙",":D","cy","13.gif"],  
  24.     ["惊讶",":0","jy","14.gif"],  
  25.     ["难过",":(","ng","15.gif"],  
  26.     ["酷",":+","kuk","16.gif"],  
  27.     ["冷汗","--b","lengh","17.gif"],  
  28.     ["抓狂",":Q","zk","18.gif"],  
  29.     ["吐",":T","tu","19.gif"],  
  30.     ["偷笑",";P","tx","20.gif"],  
  31.     ["可爱",";-D","ka","21.gif"],  
  32.     ["白眼",";d","baiy","22.gif"],  
  33.     ["傲慢",";o","am","23.gif"],  
  34.     ["饥饿",":g","jie","24.gif"],  
  35.     ["困","|-)","kun","25.gif"],  
  36.     ["惊恐",":!","jk","26.gif"],  
  37.     ["流汗",":L","lh","27.gif"],  
  38.     ["憨笑",":>","hanx","28.gif"],  
  39.     ["大兵",":",";db","29.gif"],  
  40.     ["奋斗",";f","fendou","30.gif"],  
  41.     ["咒骂",":-S","zhm","31.gif"],  
  42.     ["疑问","?","yiw","32.gif"],  
  43.     ["嘘",";x","xu","33.gif"],  
  44.     ["晕",";x","yun","34.gif"],  
  45.     ["折磨",":-S","zhm","35.gif"],  
  46.     ["衰",";!","shuai","36.gif"],  
  47.     ["骷髅","!!!","kl","37.gif"],  
  48.     ["敲","xx","qiao","38.gif"],  
  49.     ["再见","bye","zj","39.gif"],  
  50.     ["擦汗","wipe","ch","40.gif"],  
  51.     ["抠鼻","dig","kb","41.gif"],  
  52.     ["鼓掌","handclap","gz","42.gif"],  
  53.     ["糗大了","&-(","qd","43.gif"],  
  54.     ["坏笑","B-)","huaix","44.gif"],  
  55.     ["左哼哼","<@","zhh","45.gif"],  
  56.     ["右哼哼","@<","yhh","46.gif"],  
  57.     ["哈欠",":-0","hq","47.gif"],  
  58.     ["鄙视",">-|","bs","48.gif"],  
  59.     ["委屈","P-(","wq","49.gif"],  
  60.     ["快哭了",":'|","kk","50.gif"],  
  61.     ["阴险","X-)","yx","51.gif"],  
  62.     ["亲亲",":*","qq","52.gif"],  
  63.     ["吓","@x","xia","53.gif"],  
  64.     ["可怜","8*","kel","54.gif"],  
  65.     ["菜刀","pd","cd","55.gif"],  
  66.     ["西瓜","","xig","56.gif"],  
  67.     ["啤酒",":beer","pj","57.gif"],  
  68.     ["篮球","basketb","lq","58.gif"],  
  69.     ["乒乓","oo","pp","59.gif"],  
  70.     ["咖啡","coffee","kf","60.gif"],  
  71.     ["饭","eat","fan","61.gif"],  
  72.     ["猪头","pig","zt","62.gif"],  
  73.     ["玫瑰","rose","mg","63.gif"],  
  74.     ["凋谢","fade","dx","64.gif"],  
  75.     ["示爱","showlove","sa","65.gif"],  
  76.     ["爱心","heart","xin","66.gif"],  
  77.     ["心碎","break","xs","67.gif"],  
  78.     ["蛋糕","cake","dg","68.gif"],  
  79.     ["闪电","li","shd","69.gif"],  
  80.     ["×××","bome","zhd","70.gif"],  
  81.     ["刀","kn","dao","71.gif"],  
  82.     ["足球","footb","zq","72.gif"],  
  83.     ["瓢虫","ladybug","pch","73.gif"],  
  84.     ["便便","shit","bb","74.gif"],  
  85.     ["月亮","moom","yl","75.gif"],  
  86.     ["太阳","sun","ty","76.gif"],  
  87.     ["礼物","gift","lw","77.gif"],  
  88.     ["拥抱","hug","yb","78.gif"],  
  89.     ["强","strong","qiang","79.gif"],  
  90.     ["弱","weak","ruo","80.gif"],  
  91.     ["握手","share","ws","81.gif"],  
  92.     ["胜利","v","shl","82.gif"],  
  93.     ["抱拳","@)","bq","83.gif"],  
  94.     ["勾引","jj","gy","84.gif"],  
  95.     ["拳头","@@","qt","85.gif"],  
  96.     ["差劲","bad","cj","86.gif"],  
  97.     ["爱你","loveu","aini","87.gif"],  
  98.     ["NO","no","bu","88.gif"],  
  99.     ["OK","OK","hd","89.gif"]  
  100.     ];  
  101.     return   data;  
  102. }  
  103. //  
  104. function getReplaceFace(code){  
  105.     for(var i=0;i
  106.         var arr =  FaceData()[i];  
  107.         if( code == arr[3]){  
  108.             return "[FACE]"+arr[0]+"[/FACE]";  
  109.         }  
  110.     }  
  111. }  
  112. //通过编码得到表情gif文件  
  113. function getFaceGIFByCode(code){  
  114.    for(var i=0;i
  115.         var arr =  FaceData()[i];  
  116.         if( arr[0] == code || arr[1] ==code || arr[2] ==code ){  
  117.             return "+arr[3]+"\" border=\"0\" />";  
  118.         }  
  119.     }  
  120. }  
  121.  
  122. // 替换成 [face][/face]   
  123. function imgReplaceFace(str){  
  124.     var arr;  
  125.     var src =  str;  
  126.     var re = /"\" src=\"vim\/js\/kindeditor\/plugins\/emoticons\/(\d+.gif)\" border=\"0\" \/>/g; //创建正则表达式对象。  
  127.     while( (arr = re.exec(str)) != null ) {  
  128.         var s = getReplaceFace(arr[1]);  
  129.         src = src.replace(/"\" src=\"vim\/js\/kindeditor\/plugins\/emoticons\/(\d+.gif)\" border=\"0\" \/>/,s);  
  130.     }  
  131.     return src;  
  132. }  
  133.  
  134. //[face][/face] 替换成   
  135. function faceReplaceImg(str){  
  136.     var arr;  
  137.     var src =  str;  
  138.     var re = /\[(FACE|face)\]([^[\/FACE]+)\[\/(FACE|face)\]/g; //创建正则表达式对象。  
  139.     while( (arr = re.exec(str)) != null ) {  
  140.             var s = getFaceGIFByCode(arr[2]);  
  141.             src = src.replace(/\[(FACE|face)\]([^[\/FACE]+)\[\/(FACE|face)\]/,s);  
  142.     }  
  143.     return src;