

function zfshuc(s,w){
ss=s.split(">");
if(ss[1]){
  sss=ss[1].split("<")[0];
  ssss=ss[0].split("<");

  if(ssss[0]){
    s="<"+ssss[1]+">"+ssss[0]+ss[1]+">";
    sss=ssss[0]+sss;
  }

  wt=0;
  for(di=0; di<sss.length; di++)  {
    if(sss.substr(di,1).replace(/[^\x00-\xff]/g,"aa").length==1) {
      wt=wt+1;
    }else{
      wt=wt+2;
    }
    if(wt>=w-1){break;}
  }

   di=di+1;
   CreStr="<(.[^>]*)>(\\S{"+   di   +"}).*<\\/(.[^>]*)>";   
   Cre   =   new   RegExp(CreStr,   "g"); 
   if(di<=sss.length){Cstr=s.replace(Cre,"<$1>$2..</$3>");}else{Cstr=s.replace(Cre,"<$1>$2</$3>");}

}else{


  wt=0;
  for(di=0; di<s.length; di++)  {
    if(s.substr(di,1).replace(/[^\x00-\xff]/g,"aa").length==1) {
      wt=wt+1;
    }else{
      wt=wt+2;
    }
    if(wt>=w-1){break;}
  }
  di=di+1;
  Cstr=s.substring(0, di)
  if(di<=s.length){Cstr=Cstr+"..";}

}
return Cstr;
}

